入口文件配置路由

1、路由信息

-- 加载页面 ,通常用于显示新的内容或者广告,加载完成之后进入主页面

-- 主页面 /app

2、配置页面  main.dart

main.dart

  1. // main 入口文件
  2. import 'package:flutter/material.dart';
  3. import './app.dart';
  4. import './loading.dart';
  5.  
  6. // 应用程序入口
  7.  
  8. void main() => runApp(MaterialApp(
  9. debugShowCheckedModeBanner: false, //去除右上角的Debug标签
  10. title: '测试',
  11. // 自定义主题
  12. theme: mDefaultTheme,
  13. // 添加路由
  14. routes: <String, WidgetBuilder>{
  15. "/app": (BuildContext context) => new App(), //主页面
  16. },
  17. // 首页
  18. home: new LoadingPage(), //加载页面
  19. ));
  20.  
  21. // 自定义主题
  22. final ThemeData mDefaultTheme = new ThemeData(
  23. primaryColor: Colors.green,
  24. scaffoldBackgroundColor: Color(0xFFebebeb),
  25. cardColor: Colors.green);
    /// 首先配置了1个路由,然后就开始显示home页面(加载页面)

3、加载页面loading.dart

loading.dart

  1. import 'package:flutter/material.dart';
  2. import 'dart:async';
  3.  
  4. // 加载页面
  5. class LoadingPage extends StatefulWidget {
  6. @override
  7. _LoadingState createState() => new _LoadingState();
  8. }
  9.  
  10. class _LoadingState extends State<LoadingPage> {
  11. @override
  12. void initState() {
  13. super.initState();
  14. // 加载页面停顿3s
  15. new Future.delayed(Duration(seconds: 3), () {
  16. print("loading.....");
  17.  Navigator.of(context).pushReplacementNamed("/app");
  18. });
  19. }
  20.  
  21. @override
  22. Widget build(BuildContext context) {
  23. // TODO: implement build
  24. return new Center(
  25. child: Stack(
  26. children: <Widget>[
  27. Image.asset(
  28. "images/loading.png",
  29. fit: BoxFit.cover,
  30. )
  31. ],
  32. ),
  33. );
  34. }
  35. }
  36.  
  37. ///加载页面,显示图片3s后就开始跳转到主页面/app
    // 图片需要在pubspec.yaml里面配置

4、主页面 app.dart

app.dart

  1. import 'package:flutter/material.dart';
  2.  
  3. // 应用页面使用有状态Widget
  4. class App extends StatefulWidget {
  5. @override
  6. AppState createState() => AppState();
  7. }
  8. class AppState extends State<App> {
  9. @override
  10. Widget build(BuildContext context) {
  11. // TODO: implement build
  12. return Scaffold(
  13. body: new Center(
  14. child: new Text(
  15. '主页面',
  16. textAlign: TextAlign.center,
  17. style: new TextStyle(
  18. color: Colors.red[500],
  19. fontSize: 24.0,
  20. fontWeight: FontWeight.bold
  21. ),
  22. ),
  23. ),
  24. );
  25. }
  26. }
    /// 主页面

5、效果图

1、打开设备

2、点击开始

3、安装完成后进入加载页面

4、加载图片3s后,进入主页面

效果比较简单,所以用的截图,复杂的以后可以考虑gif图更直观。

flutter 入口文件配置路由+加载页面的更多相关文章

  1. jquery加载页面的方法

    jquery加载页面的方法(页面加载完成就执行),建议大家看下windows.onload与$(document).ready之间的区别.   1.$(function(){ $("#a&q ...

  2. jquery加载页面的方法(页面加载完成就执行)

    jquery加载页面的方法(页面加载完成就执行),建议大家看下windows.onload与$(document).ready之间的区别. 1.$(function(){  $("#a&qu ...

  3. [转]jquery加载页面的方法(页面加载完成就执行)

    jquery加载页面的方法(页面加载完成就执行),建议大家看下windows.onload与$(document).ready之间的区别.   1.$(function(){ $("#a&q ...

  4. ZK 最少限度加载页面js文件

    官方文档说明: ZK Developer's Reference文档,章节为Minimize Number of JavaScript Files to Load,按照文档步骤执行,最后需在 web. ...

  5. 本地修改配置hosts文件解决Github加载慢问题

    本地修改配置hosts文件解决Github加载慢问题 手动方式 hosts 文件在每个系统的位置不一,详情如下: Windows 系统:C:\Windows\System32\drivers\etc\ ...

  6. 如何使用 require.js ,实现js文件的异步加载,避免网页失去响应,管理模块之间的依赖性,便于代码的编写和维护。

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  7. webpack4 单入口文件配置 多入口文件配置 以及常用的配置

    单入口文件配置 webpack.config.js const path = require('path'); const HtmlWebpackPlugin = require('html-webp ...

  8. ExtJS 4.1 TabPanel动态加载页面并执行脚本【转】

    ExtJS 4.1 TabPanel动态加载页面并执行脚本 按照官方示例,可以动态加载页面,可是脚本不执行,于是查SDK.google,发现scripts需要设置为true,于是设置该属性,整个代码如 ...

  9. vue第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期)

    第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期) #课程目标 掌握安装 vue-cli 命令行工具的方法,掌握使用命令行在本地搭建开发环境,使用命令行 ...

随机推荐

  1. python 测试登录接口只返回response200的问题

    但是使用postman测试是有json串的 后来发现postman传参是用的raw格式,raw的格式相当于json 而这里的data其实是form-data格式,需要用json的格式

  2. 软件安装配置笔记(三)——ArcGIS系列产品安装与配置(补档)(附数据库连接及数据导入)

    在前两篇安装配置笔记之后,就忘记把其他安装配置笔记迁移过来了,真是失误失误!趁现在其他文档需要赶紧补上. 目录: 一.ArcMap 二.ArcMap连接数据库并导入数据 三.Arcgis Pro 四. ...

  3. 当进行服务端渲染的时间,某些npm包可能会调用document,window这些对象而导致报错

    1.在didmount里面使用require引入 require.ensure([], (require) => { this.setState({ picker: require('./Pic ...

  4. day08文件操作

    今日内容 文件操作 内容详细 1.打开文件 1.open("作业讲解.py",mode="r",encoding="utf-8") 2.文件 ...

  5. ASP.NET+MVC+EntityFramework快速实现增删改查

    本教程已经录制视频,欢迎大家观看我在CSDN学院录制的课程:http://edu.csdn.net/lecturer/944

  6. 解决MOFH免费空间cpanel面板大文件无法解压的情况

    解决办法: 解压大文件,重新压缩为tar格式的压缩格式,这样可以更小,而且也可以在cpanel面板解压,记得使用filezilla软件上传文件,在cpanel的网页界面不要刷新,一刷新就不可以解压大文 ...

  7. Windows操作系统线程调度耍起来

    Windows等常用操作系统都不是实时性操作系统,所谓不是实时性,意思是你写的程序放在这个操作系统上面运行,当程序需要睡眠2秒时,你的程序睡眠的可能不是2秒,而是2秒后能变为可调度状态,但是如果系统程 ...

  8. servlet_4

    过滤器入门 过滤器的概念及执行基本流程 过滤器的使用场景 过滤器的实现及基本配置 过滤器链 过滤器链的配置 使用注解的方式无法保证过滤器链的执行顺序,所以只能使用web.xml的配置 按照出现在web ...

  9. SMD 自动点料机维修

    SMD 自动点料机维修 这个工具是一个好帮手,但是过完年回来发现坏了. 设置了数量不会自动停,按停止键没有反应,一定要按打印键才能停止. 这可愁死我了. 正常情况下开机设置好数量,然后开始点数,点到数 ...

  10. linux的使用以及linux服务器应用的部署

    一.Linux(rehat.centos.ubuntu...)基础知识 上午: putty软件连接linux服务器: [root @ foundation2   ~ ]         # 用户名   ...