• Flutter之闪屏页的开发


    要想给APP加上闪屏页,解决方式为:

    1.加上闪屏图片

    2.在pubspec.yaml中配置图片

    3.创建闪屏页splash_page.dart

    import 'package:flutter/material.dart';
    
    class SplashPage extends StatefulWidget {
      @override
      _SplashPageState createState() => _SplashPageState();
    }
    
    class _SplashPageState extends State<SplashPage> {
      @override
      void initState() {
        super.initState();
    
        /// 延时跳转
        Future.delayed(Duration(seconds: 2), _toAppPage);
      }
    
      _toAppPage() {
        Navigator.of(context).pushReplacementNamed('/HomePage');
      }
    
      @override
      void dispose() {
        super.dispose();
      }
    
      @override
      Widget build(BuildContext context) {
        return Container(
          child: Image.asset(
            'assets/images/splash.png',
            fit: BoxFit.cover,
          ),
        );
      }
    }

    4.在main.dart中配置一进入页面就是SplashPage组件,再配置路由/HomePage到想要真正加载的页面组件。

    其中闪屏页的时长可配置。

    main.dart代码如下:

    import 'package:flutter_ask_answer_game/page/bottom_tab_bar.dart';
    import 'package:flutter_ask_answer_game/page/splash_page.dart';
    import 'package:flutter/material.dart';
    
    void main() => runApp(new MyApp());
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) { 
        return new MaterialApp(
          title: '竞赛开始',
          theme: new ThemeData(
            primaryColor: Colors.blueAccent,
          ),
          home: SplashPage(),
          routes: <String, WidgetBuilder>{ // 路由
            '/HomePage': (BuildContext context) => new BottomTabBar()
          },
        );
      }
    }

    这样,就会有闪屏页了。但是,闪屏页出现之前会有一段时间的空白。

    为了解决这个空白问题,安卓可以:

    5.在drawable下加入闪屏页图片

    6.在launch_background.xml中配置闪屏页路径,即@drawable/splash。

    <?xml version="1.0" encoding="utf-8"?>
    <!-- Modify this file to customize your launch splash screen -->
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@android:color/white" />
    
        <!-- You can insert your own image assets here -->
        <item>
            <bitmap
                android:gravity="fill"
                android:src="@drawable/splash" />
        </item>
    </layer-list>

    即可。

  • 相关阅读:
    (计算几何 线段判交) 51nod1264 线段相交
    (线段判交的一些注意。。。)nyoj 1016-德莱联盟
    Spring的事务管理
    Spring JDBC模版以及三种数据库连接池的使用
    Springmvc架构
    AspectJ用注解替换xml配置
    在eclipse中spring的xml配置文件标签中class路径全限定名自动提示设置
    给属性字符串添加下划线
    检测程序是否打开
    系统目录
  • 原文地址:https://www.cnblogs.com/luoyihao/p/14731286.html
Copyright © 2020-2023  润新知