first commit
This commit is contained in:
144
滴滴淘/ddt_flutter/lib/view/components/WelcomeWidget.dart
Executable file
144
滴滴淘/ddt_flutter/lib/view/components/WelcomeWidget.dart
Executable file
@@ -0,0 +1,144 @@
|
||||
import 'package:flutter/material.dart';
|
||||
// 底部导航入口,赋值绘制整个app
|
||||
import 'package:flutter_app/view/components/BottomNavigationWidget.dart';
|
||||
|
||||
|
||||
import 'package:intro_views_flutter/Models/page_view_model.dart';
|
||||
import 'package:intro_views_flutter/intro_views_flutter.dart';
|
||||
import 'package:flutter_app/R.dart';
|
||||
|
||||
|
||||
class WelcomeWidget extends StatefulWidget {
|
||||
// 这里接受一个 bool ,用于下面的判断,主要为了实现在设置页面也可以浏览查看app的启动欢迎页面
|
||||
// 而不进行跳转
|
||||
final bool enterAction;
|
||||
|
||||
WelcomeWidget(this.enterAction);
|
||||
|
||||
@override
|
||||
State<StatefulWidget> createState() => _WelcomeWidget();
|
||||
}
|
||||
|
||||
class _WelcomeWidget extends State<WelcomeWidget> {
|
||||
|
||||
// 启动页面的基本配置,一般从后端获取,这里直接写死
|
||||
final pages = [
|
||||
PageViewModel(
|
||||
pageColor: Colors.orange,
|
||||
body: Text(
|
||||
'国内高清模特写真,为您带来视觉享受',
|
||||
style: TextStyle(
|
||||
fontSize: 17.0
|
||||
),
|
||||
),
|
||||
title: Text(
|
||||
'夜色社区-美图精选',
|
||||
style: TextStyle(
|
||||
fontSize: 30.0
|
||||
),
|
||||
),
|
||||
textStyle: TextStyle(color: Colors.white),
|
||||
mainImage: Image.asset(
|
||||
R.libStaticImgLogoPng,
|
||||
height: 285.0,
|
||||
width: 285.0,
|
||||
alignment: Alignment.center,
|
||||
)
|
||||
),
|
||||
PageViewModel(
|
||||
pageColor: const Color(0xFF03A9F4),
|
||||
body: Text(
|
||||
'基于谷歌开源UI框架Flutter + Dart语言开发的原生App,为您带来更快更流畅的体验',
|
||||
style: TextStyle(
|
||||
fontSize: 17.0
|
||||
),
|
||||
),
|
||||
title: Text(
|
||||
'更快',
|
||||
style: TextStyle(
|
||||
fontSize: 30.0
|
||||
),
|
||||
),
|
||||
textStyle: TextStyle(color: Colors.white),
|
||||
mainImage: Image.asset(
|
||||
R.libStaticImgAirplanePng,
|
||||
height: 285.0,
|
||||
width: 285.0,
|
||||
alignment: Alignment.center,
|
||||
)
|
||||
),
|
||||
PageViewModel(
|
||||
pageColor: const Color(0xFF8BC34A),
|
||||
body: Text(
|
||||
'基于RSA非对称加密与HTTPS全面保障您的数据安全',
|
||||
style: TextStyle(
|
||||
fontSize: 17.0
|
||||
),
|
||||
),
|
||||
title: Text(
|
||||
'安全',
|
||||
style: TextStyle(
|
||||
fontSize: 30.0
|
||||
),
|
||||
),
|
||||
mainImage: Image.asset(
|
||||
R.libStaticImgHotelPng,
|
||||
height: 285.0,
|
||||
width: 285.0,
|
||||
alignment: Alignment.center,
|
||||
),
|
||||
textStyle: TextStyle(color: Colors.white),
|
||||
),
|
||||
PageViewModel(
|
||||
pageColor: const Color(0xFF607D8B),
|
||||
body: Text(
|
||||
'全面并且全力开发并支持Android,iOS,Web,桌面客户端,为您提供随时随地的观影体验',
|
||||
style: TextStyle(
|
||||
fontSize: 17.0
|
||||
),
|
||||
),
|
||||
title: Text(
|
||||
'方便',
|
||||
style: TextStyle(
|
||||
fontSize: 30.0
|
||||
),
|
||||
),
|
||||
mainImage: Image.asset(
|
||||
R.libStaticImgTaxiPng,
|
||||
height: 285.0,
|
||||
width: 285.0,
|
||||
alignment: Alignment.center,
|
||||
),
|
||||
textStyle: TextStyle(color: Colors.white),
|
||||
),
|
||||
];
|
||||
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Builder(
|
||||
builder: (context) =>
|
||||
IntroViewsFlutter(
|
||||
pages,
|
||||
onTapDoneButton: () {
|
||||
if(widget.enterAction) {
|
||||
// 使用 pushAndRemoveUntil 进入app后销毁之前的启动页面,否则侧滑还能打开
|
||||
Navigator.pushAndRemoveUntil(context,
|
||||
new MaterialPageRoute(
|
||||
builder: (BuildContext context) {
|
||||
return new BottomNavigationWidget();
|
||||
},
|
||||
), (route) => route == null
|
||||
);
|
||||
}
|
||||
},
|
||||
skipText: Text("跳过"),
|
||||
doneText: Text("进入"),
|
||||
pageButtonTextStyles: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 18.0,
|
||||
),
|
||||
), //IntroViewsFlutter
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user