flutter 顶部状态栏(statusBar)与底部操作栏(systemNavigationBar)设置相关
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));

浙公网安备 33010602011771号