gpt4 book ai didi

dart - 推送新屏幕后不显示默认后退按钮

转载 作者:IT王子 更新时间:2023-10-29 07:19:40 26 4
gpt4 key购买 nike

我从主屏幕上推送了一个新屏幕,它导航很流畅,还显示了后退按钮,但是现在我运行了该按钮,默认按钮没有显示在我的代码中。

我所做的唯一更改是我将主文件中的路由从 taskScreen() 更改为 task()。但这是必不可少的,因为我想从我的第二个屏幕创建更多路线,因此它必须返回一个 Material App。我怎样才能恢复默认的后退按钮?

我的代码:

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: DefaultTabController(length: 2,child: MyHomePage(title: '')),
routes: <String, WidgetBuilder>{
"/TaskScreen": (BuildContext context) => new task(), //CHANGED HERE
},
);
}
}

class MyHomePage extends StatelessWidget {
MyHomePage({Key key, this.title}) : super(key: key);

@override
Widget build(BuildContext context){

return Scaffold(

appBar: AppBar(
..
),
body: ...
}
}

我的第二个屏幕

class task extends StatelessWidget{
@override
Widget build(BuildContext context) {

return MaterialApp(
title: 'Task',
home: new taskScreen(),
routes: <String, WidgetBuilder>{
"/Completed": (BuildContext context) => new Completed()
}
);
}
}

class taskScreen extends StatefulWidget{
@override
taskState createState() => new taskState();
}

class taskState extends State<taskScreen> {

@override
Widget build(BuildContext context) {

Column taskScreen = Column (...)

return Scaffold(
appBar: AppBar(
title: Text('Task Screen')),
body: taskScreen,
);
}

}

最佳答案

类名必须以大写字符开头。您的结构有误,MaterialApp 必须只有一次。 https://dart.dev/guides/language/language-tour

关于dart - 推送新屏幕后不显示默认后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56241209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com