zoukankan      html  css  js  c++  java
  • 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>

    即可。

  • 相关阅读:
    Linux系统挂载NTFS移动硬盘
    ActiveReport报表开发谈谈ActiveReport的中文化问题
    硬件接口开发之USB电话录音盒来电显示
    如何使用正则表达式进行QQ校友的数据采集
    硬件接口开发之Modem来电显示
    关于MSHTML控件使用的问题
    【转】ISession接口介绍
    发送带嵌入图片邮件之SMTP实现和ESMTP实现
    C#进行MapX二次开发之地图搜索
    Database2Sharp混淆处理之经验分享(国庆专辑,祝福我们的祖国)
  • 原文地址:https://www.cnblogs.com/luoyihao/p/14731286.html
Copyright © 2011-2022 走看看