Flutter 为什么这个闪屏代码在颤振中不起作用?
主飞镖---- 飞镖----- 1.未定义名称“启动屏幕”时出错 2.未定义名称“主屏幕”时出错 3.如何解决此错误 我不知道为什么这些未定义的名称错误出现在屏幕上。我不知道如何解决这些错误 如何解决未定义的名称启动屏幕和主屏幕错误Flutter 为什么这个闪屏代码在颤振中不起作用?,flutter,dart,Flutter,Dart,主飞镖---- 飞镖----- 1.未定义名称“启动屏幕”时出错 2.未定义名称“主屏幕”时出错 3.如何解决此错误 我不知道为什么这些未定义的名称错误出现在屏幕上。我不知道如何解决这些错误 如何解决未定义的名称启动屏幕和主屏幕错误 请帮助我..谢谢我发现您没有在MaterialApp中指定初始路线。类似这样的事情- MaterialApp( initialRoute:“/”, 路线:{ “/”:(上下文)=>FirstScreen(), “/second”:(上下文)=>SecondScree
请帮助我..谢谢我发现您没有在MaterialApp中指定
初始路线
。类似这样的事情-
MaterialApp(
initialRoute:“/”,
路线:{
“/”:(上下文)=>FirstScreen(),
“/second”:(上下文)=>SecondScreen(),
},
);代码>
这能解决你的问题吗?顺便说一句,这并不能解决未定义的问题。代码看起来不错(我猜)我试过你的代码,效果很好
你可以试试这些东西:
- 在项目目录中运行
flatterclean
- 重新启动/重新安装应用程序,而不是使用热重新加载
他定义了home属性,因此没有必要使用initialRoute。
import 'package:flutter/material.dart';
import 'package:flutter_app/splashscreen.dart';
import 'package:flutter_app/homepage.dart';
import 'package:flutter_app/constants.dart';
void main() => runApp(MaterialApp(
title: 'GridView Demo',
home: SplashScreen(),
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.red,
accentColor: Color(0xFF761322),
),
routes: <String, WidgetBuilder>{
SPLASH_SCREEN: (BuildContext context) => SplashScreen(),
HOME_SCREEN: (BuildContext context) => HomeScreen(),
//GRID_ITEM_DETAILS_SCREEN: (BuildContext context) => GridItemDetails(),
},
));
import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app/constants.dart';
class SplashScreen extends StatefulWidget {
@override
SplashScreenState createState() => new SplashScreenState();
}
class SplashScreenState extends State<SplashScreen>
with SingleTickerProviderStateMixin {
var _visible = true;
AnimationController animationController;
Animation<double> animation;
startTime() async {
var _duration = new Duration(seconds: 3);
return new Timer(_duration, navigationPage);
}
void navigationPage() {
Navigator.of(context).pushReplacementNamed(HOME_SCREEN);
}
@override
void initState() {
super.initState();
animationController = new AnimationController(
vsync: this,
duration: new Duration(seconds: 2),
);
animation =
new CurvedAnimation(parent: animationController, curve: Curves.easeOut);
animation.addListener(() => this.setState(() {}));
animationController.forward();
setState(() {
_visible = !_visible;
});
startTime();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
fit: StackFit.expand,
children: <Widget>[
new Column(
mainAxisAlignment: MainAxisAlignment.end,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Padding(
padding: EdgeInsets.only(bottom: 30.0),
child: new Image.asset(
'assets/r1.png',
height: 25.0,
fit: BoxFit.scaleDown,
),
)
],
),
new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Image.asset(
'assets/r2.png',
width: animation.value * 250,
height: animation.value * 250,
),
],
),
],
),
);
}
}
import 'package:flutter/material.dart';
class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Table Widget")),
body: Center(child:Text('jai sri ram ')
)
);
}
}
String SPLASH_SCREEN='SPLASH_SCREEN';
String HOME_SCREEN='HOME_SCREEN';