路由点着点着就不能点了

来源:6-7 如何创建和使用Flutter的路由与导航?【边学边做】

学东西要快

2019-04-20

图片描述

老师麻烦看一下, 就简单的一个路由跳转测试
我发现在真机上面点着点着点了个10几次后就不能点了, 模拟器上是没有任何问题的.
然后看了控制台, 什么 EXCEPTION CAUGHT BY ANIMATION LIBRARY 也不是很明白什么意思

这是我哪里写错了 还是flutter本身的问题啊?

写回答

1回答

CrazyCodeBoy

2019-04-22

对着这块的代码检查下配置:

class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('如何创建和使用Flutter的路由与导航?'),
),
body: RouteNavigator(),
),
routes: <String, WidgetBuilder>{
'plugin': (BuildContext context) => PluginUse(),
'less': (BuildContext context) => LessGroupPage(),
'ful': (BuildContext context) => StatefulGroup(),
'layout': (BuildContext context) => FlutterLayoutPage(),
'gensture': (BuildContext context) => GesturePage(),
'res': (BuildContext context) => ResPage(),
'launch': (BuildContext context) => LaunchPage(),
'photo': (BuildContext context) => PhotoApp(),
});
}
}

class RouteNavigator extends StatefulWidget {
@override
_RouteNavigatorState createState() => _RouteNavigatorState();
}

class _RouteNavigatorState extends State<RouteNavigator> {
bool byName = false;

@override
Widget build(BuildContext context) {
return Container(
child: Column(
children: <Widget>[
SwitchListTile(
title: Text('${byName ? '' : '不'}通过路由名跳转'),
value: byName,
onChanged: (value) {
setState(() {
byName = value;
});
}),
_item('如何使用Flutter包和插件?', PluginUse(), 'plugin'),
_item('StatelessWidget与基础组件', LessGroupPage(), 'less'),
_item('StatefulWidget与基组件', StatefulGroup(), 'ful'),
_item('如何进行Flutter布局开发', FlutterLayoutPage(), 'layout'),
_item('如何检测用户手势以及处理点击事件?', GesturePage(), 'gesture'),
_item('如何导入和使用Flutter的资源文件?', ResPage(), 'res'),
_item('如何打开第三方应用?', LaunchPage(), 'launch'),
_item('【实战尝鲜】拍照APP开发', PhotoApp(), 'photo'),
],
),
);
}

_item(String title, page, String routeName) {
return Container(
child: RaisedButton(
onPressed: () {
if (byName) {
Navigator.pushNamed(context, routeName);
} else {
Navigator.push(
context, MaterialPageRoute(builder: (context) => page));
}
},
child: Text(title),
),
);
}
}

然后:

  • 删除build目录

  • 卸载APP

  • 重新运行下

0
0

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程