gpt4 book ai didi

dart - 我如何阻止我的应用回到启动画面

转载 作者:行者123 更新时间:2023-12-03 04:29:13 26 4
gpt4 key购买 nike

我正在构建一个带有启动屏幕的简单订购应用程序,并且在使该应用程序不回到启动屏幕上遇到麻烦,我尝试了条件运算符来解决该问题,但是它什么也没做还有其他选择可以实现这一目标吗?

import "package:flutter/material.dart";
import 'package:propapp/tabs/main.dart';
import 'dart:async';

bool loaded = false;

void main() => runApp(new MaterialApp(
theme: ThemeData(
primaryColor: Colors.amber,
accentColor: Colors.amberAccent,
),
debugShowCheckedModeBanner: false,
home: loaded == true ? Menu() : SplashScreen()));

class SplashScreen extends StatefulWidget {
@override
_SplashScreenState createState() => new _SplashScreenState();
}

class _SplashScreenState extends State<SplashScreen> {
@override
void initState() {
super.initState();

new Future.delayed(
const Duration(seconds: 3),
() => Navigator.push(
context,
MaterialPageRoute(builder: (context) => Menu()),
));
loaded = true;
}


}

最佳答案

您可以使用 Navigator.pushReplacement 。再次删除您的条件:

...
home: SplashScreen()));

唯一的其他更改是将 Navigator.push替换为 pushReplacement:
... => Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => Menu()),
)

这将从导航器堆栈中删除 SplashScreen路由,因此永远不会返回它。

关于dart - 我如何阻止我的应用回到启动画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54692356/

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