首先,需要檢查系統(tǒng)是否允許狀態(tài)欄顯示,檢查創(chuàng)建項(xiàng)目時(shí)兩個(gè)文件的配置,將相關(guān)內(nèi)容注釋掉or刪除:
// iOS 配置
./ios/Runner/Info.plist
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIStatusBarHidden</key> <- <here>
<true/> <- <here>
<key>UISupportedInterfaceOrientations</key>
// Android 配置
./android/app/src/main/res/values/styles.xml
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowFullscreen">true</item> <- <here>
然后,添加主題設(shè)置代碼:
// 狀態(tài)欄字體白色
static const SystemUiOverlayStyle light = SystemUiOverlayStyle(
systemNavigationBarColor: Color(0xFF000000),
systemNavigationBarDividerColor: null,
statusBarColor: null,
systemNavigationBarIconBrightness: Brightness.light,
statusBarIconBrightness: Brightness.light,
statusBarBrightness: Brightness.dark,
);
// 狀態(tài)欄字體黑色
static const SystemUiOverlayStyle dark = SystemUiOverlayStyle(
systemNavigationBarColor: Color(0xFF000000),
systemNavigationBarDividerColor: null,
statusBarColor: null,
systemNavigationBarIconBrightness: Brightness.light,
statusBarIconBrightness: Brightness.dark,
statusBarBrightness: Brightness.light,
);
將上面邏輯添加到main.dart中 runApp() 方法下,就可以設(shè)置全局狀態(tài)欄字體顏色為白色了。
若不同的頁(yè)面顯示不同的顏色,可以直接將這個(gè)引入到需要的頁(yè)面,改成其他的顏色即可:
//白色
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);