Flutter-------写一个app启动页
在开发app应用的时候一般都会写一个启动页来过渡会在里面初始化一些东西比如加载广告图片之类的。那么如何用flutter制作一个启动页面并在3秒后自动跳转到主页呢?首先创造一个Splash类,在build方法里面写好页面布局,然后写一个countDown()方法用来延迟,设定在3秒后启动newHomePage(),在右上角添加一个按钮用于点击跳转,onPressed进行首页的跳转。一个简单的启动页就
·
在开发app应用的时候一般都会写一个启动页来过渡会在里面初始化一些东西比如加载广告图片之类的。
那么如何用flutter制作一个启动页面并在3秒后自动跳转到主页呢?
首先创造一个Splash类,在build方法里面写好页面布局,然后写一个countDown()方法用来延迟,设定在3秒后启动newHomePage(),在右上角添加一个按钮用于点击跳转,onPressed进行首页的跳转。
一个简单的启动页就做好了。
import 'package:flutter/material.dart';
import 'dart:async';
class Splash extends StatefulWidget {
@override
_SplashState createState() => _SplashState();
}
class _SplashState extends State<Splash>{
@override
Widget build(BuildContext context) {
return new Material(
child: new Scaffold(
body: new Stack(
children: <Widget>[
new Container(
child: new Image.asset(
"images/launch.png",
fit: BoxFit.fill,
),
),
new Container(
alignment: Alignment.topRight,
padding: const EdgeInsets.fromLTRB(0.0, 45.0, 10.0, 0.0),
child: OutlineButton(
child: new Text(
"跳过",
textAlign: TextAlign.center,
style: new TextStyle(color: Colors.white),
),
// StadiumBorder椭圆的形状
shape: new StadiumBorder(),
onPressed: () {
newHomePage();
},
),
),
],
),
),
);
}
@override
void initState() {
// TODO: implement initState
super.initState();
countDown();
}
// 倒计时
void countDown() {
var _duration = new Duration(seconds: 3);
new Future.delayed(_duration, newHomePage);
}
void newHomePage() {
Navigator.pushReplacementNamed(context, '/HomePage');
}
}
更多推荐
已为社区贡献2条内容
所有评论(0)