코드 :
수입 '패키지 : 플러터 / material.dart';
클래스 KeepAliveDemo는 StatefulWidget를 {확장
@우세하다
_KeepAliveDemoState createState () => _KeepAliveDemoState ();
}
// 유사한 다중 상속과
클래스 _KeepAliveDemoState는 SingleTickerProviderStateMixin와 주 <KeepAliveDemo을> {확장
TabController의 _controller;
@우세하다
보이드 initState () {
super.initState ();
_controller TabController = (길이 : 3, VSYNC이); // VSYNC 垂直
}
@우세하다
공극 폐기 () {
() _controller.dispose;
() super.dispose;
}
@우세하다
위젯 빌드 (BuildContext 컨텍스트) {
반환 비계 (
appBar : AppBar (
제목 : 텍스트 ( '킵 얼라이브'),
고도 : 8.0,
바닥 : TabBar의 (
컨트롤러 : _controller,
탭 <위젯> [
탭 (아이콘 : 아이콘 (Icons.directions_bike)),
탭 (아이콘 : 아이콘 (Icons.directions_boat)),
탭 (아이콘 : 아이콘 (Icons.directions_car)),
],
),
),
조각 : 탭보기 (
컨트롤러 : _controller,
어린이 : <위젯> [
텍스트 ( '111'),
텍스트 ( '222'),
텍스트 ( '333')
],
),
);
}
}
요약 :
중첩 된 tabController는 탐색 모음을 낮출
최종 TabController의 _controller
다중 상속 과 키워드
초기화
= tabController의 _controller (길이 : XX , VSYNC 다음이 ) // VSYNC 상속 SingleTickerProviderStateMixin 수직 레이아웃
플러터 tabController의이 모델이다 데이터를 직접 넣을 수 있습니다
appBar 다음 릴리스 tabController
appBar (
하단 : 탭 (
컨트롤러 : _controller
탭 <위젯> [// 횟수 및 상기 길이에 대한 수에 대응
탭 (아이콘 : XXX ) //
탭 (아이콘 : XXX ) //
탭 (아이콘 : XXX ) //
]
)
)