Flutter 是通過Tabbar + TabbarView 來實現(xiàn) 類似Android Viewpager 頁面切換的效果的蛮穿。我個人覺得Flutter 的tab 切換實現(xiàn)過程要比Android的實現(xiàn)過程要簡單容易不是一星半點皇型,哈哈哈哈 ,因為她所用到的widget 都是google 官方封裝好的嗤疯,用起來代碼量簡潔了超級多!!
如果我們只是想要實現(xiàn)一個簡單的頁面切換的效果尺栖,不需要折疊懸浮置頂?shù)墓δ艿脑挿硇绻枰獙崿F(xiàn)這個功能的話懒叛,大家可以參考一下我之前寫的一篇文章??
(一)Flutter 實現(xiàn) Android CollapsingToolbarLayout折疊布局效果 ,初次寫,大家多多見諒耽梅,多多提建議??
只實現(xiàn)這個功能薛窥,比之前的那個折疊懸浮的功能簡單多啦,我這里寫個簡單的:
我們直接在State 類的build函數(shù)添加一下代碼:
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
centerTitle: true,
title: TabBar(
controller: tabController,
tabs: tabs,
isScrollable: true,
indicatorColor: Colors.red,
labelColor: Colors.white),
),
body: TabBarView(
controller: tabController,
children: tabViews,
),
);
}
tabs, tabViews 是我定義的兩個成員集合變量眼姐,tabController 也是個成員變量诅迷,tabController 在initstate()初始化狀態(tài)的函數(shù)中賦值佩番。
List<Tab> tabs = [
Tab(
text: '板塊',
),
Tab(
text: '帖子',
),
Tab(
text: '用戶',
),
];
List<Widget> tabViews = [HomePage(), ProfilePage(), HomePage()];
@override
void initState() {
super.initState();
tabController = TabController(length: tabs.length, vsync: this);
}
出來的效果是這樣的,可以點擊也可以滑動切換罢杉,