Flutter 颤振:如何在主页中添加SplashScreen

Flutter 颤振:如何在主页中添加SplashScreen,flutter,dart,Flutter,Dart,您好,我正在尝试将我的SplashScreen页面添加到main.dart,但将SplashScreen()添加到我的主页时遇到问题: 我家现在是脚手架。我想知道我怎么能把我的SplashScreen包括进去。我在想怎么换脚手架。谁能帮帮我吗。事先非常感谢你 void main()=>runApp(MyApp()); 类MyApp扩展了StatefulWidget{ @凌驾 状态createState(){ 返回MyAppState(); } } 类MyAppState扩展了状态{ int _

您好,我正在尝试将我的SplashScreen页面添加到main.dart,但将SplashScreen()添加到我的主页时遇到问题:

我家现在是脚手架。我想知道我怎么能把我的SplashScreen包括进去。我在想怎么换脚手架。谁能帮帮我吗。事先非常感谢你

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。