仅在安装后加载的说明页面

Posted

技术标签:

【中文标题】仅在安装后加载的说明页面【英文标题】:Instruction page that only loads after installation 【发布时间】:2020-07-01 22:25:47 【问题描述】:

我的应用中有一个页面,其中包含一些关于如何使用该应用的图标和动画。 我想在安装后第一次启动时加载此页面,然后我希望应用程序的任何其他启动直接进入主页。 如何做到这一点? 我已经看到了一些将这个问题与启动画面混淆的线程,我只希望这个页面在安装后启动一次,然后再也不启动。 谢谢

【问题讨论】:

【参考方案1】:

您必须创建启动屏幕并在此页面中检查共享首选项,该首选项告诉您是否已显示介绍页面 如果您显示该页面,您可以导航到主页,否则导航到介绍页面 在介绍页面中显示您想要显示的任何内容,并在介绍结束时设置 isIntroShowed 或共享首选项为 true 如下代码

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

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

class MyApp extends StatelessWidget 
@override
Widget build(BuildContext context) 
 return MaterialApp(
   title: 'Flutter Demo',
   theme: ThemeData(
     primarySwatch: Colors.blue,
   ),
   home: SplashScreen(),
 );



class SplashScreen extends StatefulWidget 
SplashScreen(Key key) : super(key: key);

@override
_SplashScreenState createState() => _SplashScreenState();


class _SplashScreenState extends State<SplashScreen> 
@override
void initState() 
    SharedPreferences.getInstance().then((prefs)
      var isShowed =prefs.getBool("isIntroShowed");
      if(isShowed!=null && isShowed) 
      
        //navigate to main page
      
      else
        //navigate to intro page 
      
    );

 super.initState();

@override
Widget build(BuildContext context) 
 return Scaffold(
   body: Center(child: CircularProgressIndicator(),),
 );



class IntroPage extends StatelessWidget 
const IntroPage(Key key) : super(key: key);

@override
Widget build(BuildContext context) 
return Scaffold(
 body: Center(
   child:FlatButton(child: Text('intro done'),onPressed: ()async
      SharedPreferences prefs = await SharedPreferences.getInstance();
      await prefs.setBool('isIntroShowed', true);
      // navigate to main content
   ,)
 ),
);



【讨论】:

只有一件事,它在我的菜单栏中创建了一个后退按钮,以便在下次运行时返回到这个加载屏幕,而 android 上的后退按钮也将它带回这个屏幕。有什么办法可以解决这个问题? 没关系,使用此链接:***.com/questions/45916658/…。再次感谢您的帮助 哦,我错过了,您可以使用 Fluatter navigator 的 pushAndRemoveUntil 方法进行导航

以上是关于仅在安装后加载的说明页面的主要内容,如果未能解决你的问题,请参考以下文章

仅在切换导航选项卡后加载 PHP 内容

Chrome - 仅在开发工具中查看“主页”的网络活动?

ShareThis - AJAX 内容不工作后加载的按钮

加载 angularjs 视图后加载 jquery 模块?

数据存储如何获取页面中加载的当前数据

如何使用 Next.js 访问当前在导航中加载的 url 或页面