Flutter 颤振:如何在主页中添加SplashScreen
您好,我正在尝试将我的SplashScreen页面添加到main.dart,但将SplashScreen()添加到我的主页时遇到问题: 我家现在是脚手架。我想知道我怎么能把我的SplashScreen包括进去。我在想怎么换脚手架。谁能帮帮我吗。事先非常感谢你Flutter 颤振:如何在主页中添加SplashScreen,flutter,dart,Flutter,Dart,您好,我正在尝试将我的SplashScreen页面添加到main.dart,但将SplashScreen()添加到我的主页时遇到问题: 我家现在是脚手架。我想知道我怎么能把我的SplashScreen包括进去。我在想怎么换脚手架。谁能帮帮我吗。事先非常感谢你 void main()=>runApp(MyApp()); 类MyApp扩展了StatefulWidget{ @凌驾 状态createState(){ 返回MyAppState(); } } 类MyAppState扩展了状态{ int _
void main()=>runApp(MyApp());
类MyApp扩展了StatefulWidget{
@凌驾
状态createState(){
返回MyAppState();
}
}
类MyAppState扩展了状态{
int _selectedPage=0;
最终页面选项=[
Home(),
类别(),
视频(),
];
@凌驾
小部件构建(构建上下文){
返回材料PP(
debugShowCheckedModeBanner:false,
标题:“颤振演示”,
initialRoute:“/”,
onGenerateRoute:RouteGenerator.generateRoute,
家:脚手架(
正文:_pageOptions[_selectedPage],
底部导航栏:底部导航栏(
类型:BottomNavigationBarType.fixed,
currentIndex:_selectedPage,
onTap:(int索引){
设置状态(){
_selectedPage=索引;
});
},
项目:[
底部导航气压计(
图标:图标(Icons.home),标题:文本(“home”),
底部导航气压计(
图标:图标(图标.格式\u列表\u项目符号),标题:文本('Category'),
底部导航气压计(
图标:图标(Icons.subscriptions),标题:文本(“视频”),
]
),
)
);
}
}
试试下面的代码:import 'dart:async';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: SplashScreen(),
);
}
}
class SplashScreen extends StatefulWidget {
@override
_SplashScreenState createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
@override
void initState() {
super.initState();
countDownTime();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text("Splash Screen"),
),
);
}
countDownTime() async {
return Timer(
Duration(seconds: 2),
() async {
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => HomeScreen()),
);
},
);
}
}
class HomeScreen extends StatefulWidget {
@override
HomeScreenState createState() => HomeScreenState();
}
class HomeScreenState extends State<HomeScreen> {
int _selectedPage = 0;
final _pageOptions = [
Scaffold(body: Center(child: Text("Home")),),
Scaffold(body: Center(child: Text("Category")),),
Scaffold(body: Center(child: Text("Video")),),
];
@override
Widget build(BuildContext context) {
return Scaffold(
body: _pageOptions[_selectedPage],
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
currentIndex: _selectedPage,
onTap: (int index) {
setState(() {
_selectedPage = index;
});
},
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home), title: Text('Home')),
BottomNavigationBarItem(
icon: Icon(Icons.format_list_bulleted),
title: Text('Category')),
BottomNavigationBarItem(
icon: Icon(Icons.subscriptions), title: Text('Videos')),
]),
);
}
}
导入'dart:async';
进口“包装:颤振/材料.省道”;
void main()=>runApp(MyApp());
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
debugShowCheckedModeBanner:false,
标题:“颤振演示”,
主题:主题数据(
主样本:颜色。蓝色,
),
主页:SplashScreen(),
);
}
}
类SplashScreen扩展StatefulWidget{
@凌驾
_SplashScreenState createState()=>\u SplashScreenState();
}
类的状态扩展了状态{
@凌驾
void initState(){
super.initState();
倒计时();
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子项:文本(“启动屏幕”),
),
);
}
countdown()异步{
返回计时器(
持续时间(秒:2),
()异步{
导航器。更换(
上下文
MaterialPage路由(生成器:(上下文)=>HomeScreen()),
);
},
);
}
}
类主屏幕扩展StatefulWidget{
@凌驾
HomeScreenState createState()=>HomeScreenState();
}
类HomeScreenState扩展状态{
int _selectedPage=0;
最终页面选项=[
脚手架(主体:中心(子对象:文本(“主”),),
脚手架(主体:中心(子对象:文本(“类别”),),
脚手架(主体:中心(子对象:文本(“视频”),),
];
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:_pageOptions[_selectedPage],
底部导航栏:底部导航栏(
类型:BottomNavigationBarType.fixed,
currentIndex:_selectedPage,
onTap:(int索引){
设置状态(){
_selectedPage=索引;
});
},
项目:[
底部导航气压计(
图标:图标(Icons.home),标题:文本(“home”),
底部导航气压计(
图标:图标(图标。格式\u列表\u项目符号),
标题:文本(“类别”),
底部导航气压计(
图标:图标(Icons.subscriptions),标题:文本(“视频”),
]),
);
}
}
Better您可以从main.dart
classHi@GowthamSubramaniam导航到启动屏幕,谢谢您的回复。如果你不介意的话,你能给我看一下我如何在家里更换脚手架的片段吗:并添加我的飞溅屏幕?非常感谢。非常感谢您的帮助。只需一段示例代码:@override Widget build(BuildContext context){return MaterialApp(title:'flatter Demo',debugShowCheckedModeBanner:false,theme:ThemeData(primarySwatch:Colors.blue,),home:new SplashScreen();}而SplashScreen.dart类是StatefulWidget
Hi@GowthamSubramaniam,我已经尝试了你的代码,但是我的脚手架有一个错误。当我将其更改为home:new SplashScreen()。使用在MyApp类中构建。然后在屏幕上导航到splash。