Flutter?Widget之NavigationBar使用詳解
正文
這是一個(gè)和時(shí)間一樣古老的故事。您的應(yīng)用程序有三到五個(gè)主要內(nèi)容區(qū)域,您的用戶應(yīng)該能夠在任何屏幕之間切換。
那么,在這種情況下,請(qǐng)查看NavigationBar。
現(xiàn)在,您可能會(huì)想,“底部們有導(dǎo)航欄嗎?,這個(gè)新的導(dǎo)航欄小部件有什么特別之處?“
不同之處在于BoottomNavigationBar使用Material 2設(shè)計(jì)系統(tǒng),而NavigationBar具有新的Material 3外觀和感覺。

例如,藥丸形狀,它以對(duì)比色指示活動(dòng)的目的地。

要啟動(dòng)并運(yùn)行,為NavigationBar提供destination列表,當(dāng)前所選的索引以及每當(dāng)選擇destination時(shí)出發(fā)的回調(diào)而已。
NavigationBar(
destinations: [
NavigationDestination(
icon: Icon(Icons.home),
label: 'Home',
),
NavigationDestination(
icon: Icon(Icons.explore),
label: 'Explore',
),
NavigationDestination(
icon: Icon(Icons.person),
label: 'Profile',
),
NavigationDesstination(
icon: Icon(Icons.settings_rounded,
label: 'Settings',
),
],
selectedIndex: currentPageIndex,
onDestinationSelected: (int index) {
setState(() {
currentPageIndex = index;
});
}
)
現(xiàn)在您的應(yīng)用程序可以使用選定的索引來(lái)決定要承鉉哪個(gè)視圖。
Scaffold(
bottomNavigationBar: NavigationBar(...),
body: [Widget1, Widget2, Widget3, Widget4][currentPageIndex]
)
您可以使用它并配置諸如labelBehavior
NavigationBar(
destinations: [...].
selectedIndex: currentPageIndex,
onDestinationSelected: (int index) {...},
labelBehavior: onlyShowSelected,
)

background
NavigationBar(
destinations: [...],
selectedIndex: currentPageIndex,
onDestinationSelected: (int index) {...},
backgroundColor: Colors.grey,
)

和animationDuration之類的東西,以便當(dāng)destination在選中和未選中之間更改狀態(tài)時(shí)。
NavigationBar(
destinations: [...],
selectedIndex: currentPageIndex,
onDestinationSelected: (int index) {...},
animationDuration: Duration(ms: 1000),
)

準(zhǔn)備好在大屏幕訪問(wèn)您的應(yīng)用程序了嗎?將NavigationBar與NaviigationRail欄配對(duì),您將立即擁有一個(gè)完全相應(yīng)的導(dǎo)航系統(tǒng)。

如果想了解有關(guān)NavigationBar的內(nèi)容,或者關(guān)于Flutter的其他功能,請(qǐng)?jiān)L問(wèn) flutter.dev
以上就是Flutter Widget之NavigationBar使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Flutter Widget NavigationBar的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
當(dāng)Flutter遇到節(jié)流與防抖的思路和流程優(yōu)化
這篇文章主要給大家介紹了關(guān)于當(dāng)Flutter遇到節(jié)流與防抖的思路和流程優(yōu)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
Android Studio 全屏沉浸式透明狀態(tài)欄效果的實(shí)現(xiàn)
這篇文章主要介紹了Android Studio 全屏沉浸式透明狀態(tài)欄效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
Android 模仿iPhone列表數(shù)據(jù)View刷新動(dòng)畫詳解
本文主要介紹Android 模仿iPhone列表數(shù)據(jù)view 刷新動(dòng)畫的資料,這里整理詳細(xì)的資料,并附示例代碼及實(shí)現(xiàn)效果圖,有興趣的小伙伴可以參考下2016-09-09
Android開發(fā)實(shí)例之登錄界面的實(shí)現(xiàn)
本文主要介紹Android 登錄界面實(shí)現(xiàn),這里主要講解類似Twitter的登錄界面的實(shí)現(xiàn),有興趣的小伙伴可以參考下2016-08-08
Android應(yīng)用創(chuàng)建多個(gè)快捷方式
本文主要介紹Android 生成多個(gè)快捷方式,這里提供代碼實(shí)例,詳細(xì)講解生成多個(gè)快捷方式的實(shí)現(xiàn)方法,有需要的朋友可以參考下2016-07-07
Android本地?cái)?shù)據(jù)存儲(chǔ)Room實(shí)踐和優(yōu)化技巧
本文詳細(xì)介紹了Android本地?cái)?shù)據(jù)存儲(chǔ)框架Room的使用,包括基本概念、核心組件、最佳實(shí)踐、優(yōu)化技巧等,幫助開發(fā)者學(xué)習(xí)和掌握Room的使用方法,提升數(shù)據(jù)存儲(chǔ)效率和應(yīng)用性能2023-04-04
android 開發(fā)教程之日歷項(xiàng)目實(shí)踐(三)
決定開始學(xué)習(xí) Android 平臺(tái)下的軟件開發(fā),以日歷作為實(shí)踐項(xiàng)目,進(jìn)行一周后,基本完成,有需要的朋友可以參考下2013-01-01

