沉浸式处理

Catalogue   

基本使用(全局生效)

Flutter侧设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

// 黑色沉浸式状态栏颜色 黑色文字
SystemUiOverlayStyle dark = const SystemUiOverlayStyle(
// systemNavigationBarColor: Color(0xFF000000),
systemNavigationBarDividerColor: null, //设置导航栏和内容区域的分割线颜色
systemNavigationBarIconBrightness:null, //设置导航栏图标的颜色,可选值为Brightness.light或Brightness.dark。
/// 注意安卓要想实现沉浸式的状态栏 需要底部设置透明色
statusBarColor: Colors.transparent, // 状态栏颜色为透明
systemNavigationBarIconBrightness: Brightness.light,
statusBarIconBrightness: Brightness.dark, // 设置状态栏图标的颜色,可选值为Brightness.light或Brightness.dark。
statusBarBrightness: Brightness.light, // 设置状态栏文字的颜色,可选值为Brightness.light或Brightness.dark。
);

SystemChrome.setSystemUIOverlayStyle(dark);

原生侧设置

1
2
3
4
5
6
7
8
9
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(0);//原生侧设置透明
}
}

单个页面设置

参考