Android 颤振:带有持续时间和进度条的启动屏幕
我开始尝试颤振,现在正在尝试颤振。我正试图实现一个splashscreen。 我的要求:Android 颤振:带有持续时间和进度条的启动屏幕,android,flutter,Android,Flutter,我开始尝试颤振,现在正在尝试颤振。我正试图实现一个splashscreen。 我的要求: flash屏幕应在应用程序启动时显示3秒 它应该在3秒钟后消失 它应该在显示和显示时显示一个进度条 在3秒内完成 试试这个 你可以用 建造师 Future.delayed(Duration duration, [ dynamic computation() ]) 创建一个在延迟后运行其计算的未来 计算将在给定的持续时间结束后执行,未来将根据计算结果完成 如果持续时间为0或更小,则在所有微任务运行后,它
- flash屏幕应在应用程序启动时显示3秒
- 它应该在3秒钟后消失
- 它应该在显示和显示时显示一个进度条 在3秒内完成
Future.delayed(Duration duration, [ dynamic computation() ])
创建一个在延迟后运行其计算的未来
计算将在给定的持续时间结束后执行,未来将根据计算结果完成
如果持续时间为0或更小,则在所有微任务运行后,它将在下一个事件循环迭代中完成
示例代码
new Future.delayed(const Duration(seconds: 3), () {
// You action here
});
import 'dart:async';
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: SplashScreen(),
));
// runApp(HomePage());
}
class SplashScreen extends StatefulWidget {
@override
_SplashScreenState createState() => new _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
startTime() async {
var _duration = new Duration(seconds: 2);
return new Timer(_duration, navigationPage);
}
void navigationPage() {
Navigator.of(context).pushReplacementNamed('/Registration');
}
@override
void initState() {
super.initState();
startTime();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: FlutterLogo(
size: 100.0,
),
),
);
}
}
示例代码
new Future.delayed(const Duration(seconds: 3), () {
// You action here
});
import 'dart:async';
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: SplashScreen(),
));
// runApp(HomePage());
}
class SplashScreen extends StatefulWidget {
@override
_SplashScreenState createState() => new _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
startTime() async {
var _duration = new Duration(seconds: 2);
return new Timer(_duration, navigationPage);
}
void navigationPage() {
Navigator.of(context).pushReplacementNamed('/Registration');
}
@override
void initState() {
super.initState();
startTime();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: FlutterLogo(
size: 100.0,
),
),
);
}
}
导入'dart:async';
进口“包装:颤振/材料.省道”;
void main(){
runApp(材料应用程序)(
debugShowCheckedModeBanner:false,
主题:主题数据(
主样本:颜色。蓝色,
),
主页:SplashScreen(),
));
//runApp(主页());
}
类SplashScreen扩展StatefulWidget{
@凌驾
_SplashScreenState createState()=>new_SplashScreenState();
}
类的状态扩展了状态{
startTime()异步{
var_持续时间=新的持续时间(秒:2);
返回新计时器(_持续时间,导航页面);
}
无效导航页(){
Navigator.of(context.pushReplacementNamed('/Registration');
}
@凌驾
void initState(){
super.initState();
开始时间();
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
孩子:我的标志(
尺寸:100.0,
),
),
);
}
}
检查此处的完整代码
import 'package:flutter/material.dart';
import 'package:splashscreen/splashscreen.dart';
void main() {
runApp(MaterialApp(
debugShowCheckedModeBanner: false,
home: MyApp(),
));
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return SplashScreen(
seconds: 14,
navigateAfterSeconds: new AfterSplash(),
image: new Image.asset('assets/logo.png'),
backgroundColor: Colors.white,
photoSize: 100.0,
);
}
}
class AfterSplash extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Welcome In SplashScreen Package"),
automaticallyImplyLeading: false),
body: Center(
child: Text(
"Done!",
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 30.0),
),
),
);
}
}
那有什么问题?这个问题太模糊了。需要一个带有延迟和进度条的闪屏实现代码@MikeSpeedWhat-about launch_background.xml。在那里要做哪些更改?