我有一本針對顫振初學者程式員的書。在第一部分,它向我展示了如何創建啟影片面,但問題是沒有顯示啟影片面,只是一個空白的黑屏,然后顯示應用程式。
這是我的 splash_screen.dart
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:wisata_yogya/main.dart';
void main() =>runApp(SplashScreen());
// ignore: use_key_in_widget_constructors
class SplashScreen extends StatelessWidget{
@override
Widget build(BuildContext context){
return MaterialApp(
home: _SplashScreenBody(),
);
}
}
class _SplashScreenBody extends StatefulWidget{
@override
State<StatefulWidget> createState(){
return _SplashScreenBodyState();
}
}
class _SplashScreenBodyState extends State<_SplashScreenBody>{
@override
Widget build(BuildContext context){
Future.delayed(const Duration(seconds: 3), (){
Navigator.pushAndRemoveUntil(context,
// ignore: prefer_const_constructors
MaterialPageRoute(builder: (context) => MyApp()), (Route route) => false);
});
return const Scaffold(
body: Center(
child: Image(
image: AssetImage("graphics/logo.png"),
height: 75,
width: 75,
)
)
);
}
}
并且代碼中沒有錯誤。
uj5u.com熱心網友回復:
嘗試在 initState 中添加計時器,而不是像這樣 'void initState() {
super.initState();
Timer(Duration(seconds: 5),
()=>Navigator.pushReplacement(context,
MaterialPageRoute(builder:
(context) => HomeScreen(
)
)
);
}
'
uj5u.com熱心網友回復:
方法 1
您可以使用animated_splash_screen它的易用性,
home: AnimatedSplashScreen(
splash: Scaffold(
body: Center(
child: Image.asset(
'assets/logo.png',
width: double.infinity,
height: double.infinity,
),
),
),
duration: 100,
nextScreen: Login(),
splashTransition: SplashTransition.fadeTransition,
backgroundColor: Colors.white,
方法二
或Timer用于延遲幾秒鐘initState()
Timer(
Duration(seconds: 2),
() => Navigator.pushReplacement(context,
MaterialPageRoute(builder: (context) => HomePage())));
uj5u.com熱心網友回復:
你可以使用這個https://pub.dev/packages/flutter_native_splash 它易于使用,
uj5u.com熱心網友回復:
類 _SplashState 擴展狀態 {
@override void initState() { super.initState(); Timer(Duration(seconds: 3), ()=>Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) =>First() ) ); }
return Scaffold( body: SizedBox.expand( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( child: Image.asset('Assets/Group.png'), padding: const EdgeInsets.all(8.0), height) : 200, 寬度: 200, ), CircularProgressIndicator(color: HexColor('#22178F'),), ], ), ), );
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/395291.html
上一篇:無法從方法“onGenerateRoute”回傳“Null”型別的值,因為它的回傳型別為“Route<dynamic>”
