flutter 頂部狀態列(statusBar)與底部操作欄(systemNavigationBar)設定相關
阿新 • • 發佈:2021-01-03
main函式內設定SystemChrome.setSystemUIOverlayStyle,具體操作摘自於https://developer.aliyun.com/article/698357
setEnabledSystemUIOverlays
setEnabledSystemUIOverlays是指定在應用程式執行時可見的系統疊加,主要對狀態列的操作,讀起來比較拗口,但是看測試用例就很明瞭;引數分top 頂部 / bottom 底部兩種;
1. SystemUiOverlay.top
預設隱藏底部虛擬狀態列(需手機支援虛擬狀態列裝置),即三大金剛鍵;獲取焦點後展示狀態列,展示大小為去掉狀態列時整體大小;
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
2. SystemUiOverlay.bottom
預設隱藏頂部虛擬狀態列,獲取焦點後展示狀態列,展示大小為去掉狀態列時整體大小;
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
3. 兩者皆有
即預設情況,頂部底部狀態列均展示;
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top, SystemUiOverlay.bottom]);
setSystemUIOverlayStyle
setSystemUIOverlayStyle用來設定狀態列頂部和底部樣式,預設有light和dark模式,也可以按照需求自定義樣式;
1. systemNavigationBarColor
該屬性僅用於Android裝置且SDK >= O時,底部狀態列顏色;
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(systemNavigationBarColor: Colors.pink));
2. systemNavigationBarDividerColor
該屬性僅用於Android裝置且SDK >= P時,底部狀態列與主內容分割線顏色,效果不是很明顯;
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(systemNavigationBarDividerColor: Colors.yellow));
3. systemNavigationBarIconBrightness
該屬性僅用於Android裝置且SDK >= O時,底部狀態列圖示樣式,主要是dark和light;
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(systemNavigationBarIconBrightness: Brightness.dark/light));
4. statusBarColor
該屬性僅用於Android裝置且SDK >= M時,頂部狀態列顏色;
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(statusBarColor: Colors.red));
5. statusBarIconBrightness
該屬性僅用於Android裝置且SDK >= M時,頂部狀態列圖示的亮度;但小菜感覺並不明顯;
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(statusBarIconBrightness: Brightness.dark/light));
6. statusBarBrightness
該屬性僅用於iOS裝置頂部狀態列亮度;
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(statusBarBrightness: Brightness.dark/light));