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 命令行工具的方法,掌握使用命令行在本地搭建开发环境,使用命令行 ...
随机推荐
- Python全栈之路----常用模块----序列化(json&pickle&shelve)模块详解
把内存数据转成字符,叫序列化:把字符转成内存数据类型,叫反序列化. Json模块 Json模块提供了四个功能:序列化:dumps.dump:反序列化:loads.load. import json d ...
- adb环境配置+常用adb命令+Logcat命令的用法+手动进行文件比对的方法+批量挪bug
1. adb环境配置:下载adb环境变量包:打开计算机属性-高级系统设置-环境变量:新建变量adb,值为刚才的环境变量包路径:编辑path值,在最后面加上;%adb%;确定就妥了 2. 常用adb命令 ...
- Restful levels&HATEOAS详解
RESTful: Rest是一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等 ...
- ServletContext、ServletRequest和HttpSession的生命周期
学习web的Listener监听器的时,监听域对象创建的监听器.通过监听器重新分析着三个对象的生命周期,清晰明了. 首先域对象的监听器有三个ServletContextListene.ServletR ...
- maven使用utf8等
pom.xml: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodi ...
- CF300E. Empire Strikes Back
题目链接(是的我越来越懒了..) 题目大意及数据范围: 数据范围很大.“最小”二字让我们考虑二分,但是上界...不会爆long long让你写高精吧? 我们可以发现,∑ai一定满足条件,所以上界是1e ...
- 如何打开kernel最开始的打印
1.Kernel hacking ---> Kernel low-level debugging functions --> Early printk 2.boot option中你 ...
- BigData_Jia
#include <stdio.h> #include <string.h> #define MaxSize 10000 int n1, n2, i, k, times; ch ...
- axios delete
- 备份恢复工具xtrabackup安装和使用的记录
一.安装 下面的方法是在测试环境可以上网的情况下安装的: 提供的是在centos7上安装的方法: 包下载: wget https://www.percona.com/downloads/percona ...
pubspec.yaml里面配置