import 'package:flutter/material.dart';

import 'KeepAliveDemo.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {

  @override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.green, //定义主题风格 primarySwatch
),
home: KeepAliveDemo(),
);
} }
import 'package:flutter/material.dart';
import 'package:flutter_app/MyHomePage.dart';
class KeepAliveDemo extends StatefulWidget {
_KeepAliveDemoState createState() => _KeepAliveDemoState();
}
/*
第一步:with是dart的关键字,意思是混入的意思,
就是说可以将一个或者多个类的功能添加到自己的类无需继承这些类,
避免多重继承导致的问题。
SingleTickerProviderStateMixin 主要是我们初始化TabController时,
需要用到vsync ,垂直属性,然后传递this
*/
class _KeepAliveDemoState extends State<KeepAliveDemo> with SingleTickerProviderStateMixin {
TabController _controller; @override
void initState(){
super.initState();
_controller = TabController(length:3, vsync: this);
}
@override //第二步保持页面状态返回true
bool get wantKeepAlive => true;
//重写被释放的方法,只释放TabController
@override
void dispose(){
_controller.dispose();
super.dispose();
} @override
Widget build(BuildContext context) {
return Scaffold(
appBar:AppBar(
title:Text('Keep Alive Demo'),
bottom:TabBar(
controller: _controller,
tabs:[
Tab(icon:Icon(Icons.directions_car)),
Tab(icon:Icon(Icons.directions_transit)),
Tab(icon:Icon(Icons.directions_bike)),
],
)
),
body:TabBarView(
controller: _controller,
children: <Widget>[
MyHomePage(),
MyHomePage(),
MyHomePage()
],
)
);
}
}

效果:

最新文章

  1. .Net多线程编程—System.Threading.Tasks.Parallel
  2. 不在 sudoers 文件中。此事将被报告。
  3. JavaScript开发的技巧
  4. CSS书写建议参考
  5. asp检测数字类型函数
  6. Linux命令行与图形界面切换方法
  7. hdu 2048 神、上帝以及老天爷(错排)
  8. Fragment实现底部选项卡切换效果
  9. HTML文件中使用Java程序
  10. ASP.NET Cache
  11. 高效删除 ListItem
  12. PHP代码为什么不能直接保存HTML文件——&amp;gt;PHP生成静态页面教程
  13. Cracking the coding interview--Q1.7
  14. LeetCode——Add Binary
  15. C语言程序设计第二次作业—————顺序结构改
  16. LVS负载均衡基础介绍及NET、DR模式配置
  17. Spring Boot 静态资源路径分析
  18. GA-H61M-DS2 BIOS SETTING
  19. SQL Server中自定义函数:用指定的分隔符号分割字符串
  20. Arria10调试问题集之——480转成270中DDR4 IP重新生成的问题

热门文章

  1. java基础(9)---静态方法和成员方法
  2. java基础(6)---面向对象,类,包
  3. 使用Mybatis
  4. 结构型模式(一) 适配器模式(Adapter)
  5. 十一.Protobuf3可选项
  6. ES基本搜索(1)
  7. com.alibaba.fastjson把JSONObject转换为Map&lt;String, String&gt;对象
  8. 2019/2/18 Test
  9. BCB key事件中判断Shift、Alt、Ctrl状态
  10. (1)Angular的开发