flutter 入口文件配置路由+加载页面
入口文件配置路由
1、路由信息
-- 加载页面 ,通常用于显示新的内容或者广告,加载完成之后进入主页面
-- 主页面 /app
2、配置页面 main.dart
main.dart
// main 入口文件
import 'package:flutter/material.dart';
import './app.dart';
import './loading.dart'; // 应用程序入口 void main() => runApp(MaterialApp(
debugShowCheckedModeBanner: false, //去除右上角的Debug标签
title: '测试',
// 自定义主题
theme: mDefaultTheme,
// 添加路由
routes: <String, WidgetBuilder>{
"/app": (BuildContext context) => new App(), //主页面
},
// 首页
home: new LoadingPage(), //加载页面
)); // 自定义主题
final ThemeData mDefaultTheme = new ThemeData(
primaryColor: Colors.green,
scaffoldBackgroundColor: Color(0xFFebebeb),
cardColor: Colors.green);
/// 首先配置了1个路由,然后就开始显示home页面(加载页面)
3、加载页面loading.dart
loading.dart
import 'package:flutter/material.dart';
import 'dart:async'; // 加载页面
class LoadingPage extends StatefulWidget {
@override
_LoadingState createState() => new _LoadingState();
} class _LoadingState extends State<LoadingPage> {
@override
void initState() {
super.initState();
// 加载页面停顿3s
new Future.delayed(Duration(seconds: 3), () {
print("loading.....");
Navigator.of(context).pushReplacementNamed("/app");
});
} @override
Widget build(BuildContext context) {
// TODO: implement build
return new Center(
child: Stack(
children: <Widget>[
Image.asset(
"images/loading.png",
fit: BoxFit.cover,
)
],
),
);
}
} ///加载页面,显示图片3s后就开始跳转到主页面/app
// 图片需要在pubspec.yaml里面配置
4、主页面 app.dart
app.dart
import 'package:flutter/material.dart'; // 应用页面使用有状态Widget
class App extends StatefulWidget {
@override
AppState createState() => AppState();
}
class AppState extends State<App> {
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
body: new Center(
child: new Text(
'主页面',
textAlign: TextAlign.center,
style: new TextStyle(
color: Colors.red[500],
fontSize: 24.0,
fontWeight: FontWeight.bold
),
),
),
);
}
}
/// 主页面
5、效果图
1、打开设备

2、点击开始

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

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

效果比较简单,所以用的截图,复杂的以后可以考虑gif图更直观。
flutter 入口文件配置路由+加载页面的更多相关文章
- jquery加载页面的方法
jquery加载页面的方法(页面加载完成就执行),建议大家看下windows.onload与$(document).ready之间的区别. 1.$(function(){ $("#a&q ...
- jquery加载页面的方法(页面加载完成就执行)
jquery加载页面的方法(页面加载完成就执行),建议大家看下windows.onload与$(document).ready之间的区别. 1.$(function(){ $("#a&qu ...
- [转]jquery加载页面的方法(页面加载完成就执行)
jquery加载页面的方法(页面加载完成就执行),建议大家看下windows.onload与$(document).ready之间的区别. 1.$(function(){ $("#a&q ...
- ZK 最少限度加载页面js文件
官方文档说明: ZK Developer's Reference文档,章节为Minimize Number of JavaScript Files to Load,按照文档步骤执行,最后需在 web. ...
- 本地修改配置hosts文件解决Github加载慢问题
本地修改配置hosts文件解决Github加载慢问题 手动方式 hosts 文件在每个系统的位置不一,详情如下: Windows 系统:C:\Windows\System32\drivers\etc\ ...
- 如何使用 require.js ,实现js文件的异步加载,避免网页失去响应,管理模块之间的依赖性,便于代码的编写和维护。
一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...
- webpack4 单入口文件配置 多入口文件配置 以及常用的配置
单入口文件配置 webpack.config.js const path = require('path'); const HtmlWebpackPlugin = require('html-webp ...
- ExtJS 4.1 TabPanel动态加载页面并执行脚本【转】
ExtJS 4.1 TabPanel动态加载页面并执行脚本 按照官方示例,可以动态加载页面,可是脚本不执行,于是查SDK.google,发现scripts需要设置为true,于是设置该属性,整个代码如 ...
- vue第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期)
第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期) #课程目标 掌握安装 vue-cli 命令行工具的方法,掌握使用命令行在本地搭建开发环境,使用命令行 ...
随机推荐
- syslog日志打印
最近syslog出了一次问题,我们配置了不同appname打印到不同文件.现在用不同appname打印log的时候,偶然会混在一起.检查过配置后,觉得不是配置问题,如果是配置问题应该每一条都会打错位置 ...
- MySQL 8.0.13 下载安装教程
MySQL是使用最多的数据库,自己电脑上肯定要装一个来多加学习,自己搞不懂的一些东西要多写一些 sql 语句练习. 首先去 mysql 官网下载,地址:https://dev.mysql.com/do ...
- SQLI DUMB SERIES-19
(1)根据题意,从Referer入手 (2)报错注入与上一关相同.如爆库名: 'and extractvalue(1,concat(0x7e,(select database()),0x7e)) an ...
- JDBCTM中Statement接口提供的execute、executeQuery和executeUpdate之间的区别
Statement 接口提供了三种执行 SQL 语句的方法:executeQuery.executeUpdate 和 execute.使用哪一个方法由 SQL 语句所产生的内容决定. 方法execut ...
- javascript获取某个月份的天数
function DayNumOfMonth(Year,Month) //例DayNumOfMonth(2017,05);{ Month--; //月份是0~11.month=4 var ...
- 微信企业付款获取RSA
package com.hentica.app.test.wx; import com.plant.app.modules.pay.wxpay.config.WxpayConfig; import o ...
- JSP + JDBC + MySQL 读取数据库内容到网页
创建数据库表 导入JDCB驱动 mysql.jsp <%@ page language="java" %> <%@ page contentType=" ...
- ConcurrentDictionary对象
ConcurrentDictionary<int, List<a>> dic = new ConcurrentDictionary<int, List<a>& ...
- gtest 参数化
前言: 在测试用例中,我们时常需要传给被测函数不同的值,gtest为我们提供了简便的方法,可以使我们能够灵活的进行参数化测试. 步骤: 1.创建一个类,继承testing::TestWithParam ...
- [Python]_ELVE_centos7安装Python3.7.1与Python2共存
注:该博客转载至PengYunjing博客,加以改动. #0x01 安装依赖环境 yum -y install zlib-devel bzip2-devel openssl-devel ncurses ...
pubspec.yaml里面配置