main.dart中引入KeepAliveDemo
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: KeepAliveDemo(),
);
}
}
新建keep_alive.dart
import 'package:flutter/material.dart';
class KeepAliveDemo extends StatefulWidget {
@override
_KeepAliveDemoState createState() => new _KeepAliveDemoState();
}
class _KeepAliveDemoState extends State<KeepAliveDemo> with SingleTickerProviderStateMixin{
TabController _controller;
@override
void initState() {
// TODO: implement initState
super.initState();
_controller=TabController(length: 3, vsync: this);
}
@override
void dispose() {
// TODO: implement dispose
super.dispose();
_controller.dispose();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('KeepAliveDemo'),
elevation: 4.0,
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>[
Text("11111"),
Text("22222"),
Text("33333"),
],
),
);
}
}