如何在Flutter中适配Android 15修改系统状态栏颜色
如何在Flutter中适配Android 15修改系统状态栏颜色
嘿,我刚好整理了一段能在Flutter里适配Android 15修改系统状态栏颜色的代码,亲测适配没问题!这段代码不仅能改状态栏颜色,还能同步配置导航栏的样式,完全兼容Android 15的系统UI规则。
下面是完整的实现代码:
void systemUiConfig({ Color statusBarColor = Colors.white, Color navigationColor = Colors.white, Brightness statusBarIcon = Brightness.dark, Brightness navigationBarIcon = Brightness.dark, }) { return SystemChrome.setSystemUIOverlayStyle( SystemUiOverlayStyle( statusBarColor: statusBarColor, statusBarIconBrightness: statusBarIcon, systemNavigationBarColor: navigationColor, systemNavigationBarIconBrightness: navigationBarIcon, // 若需适配Android 15的新特性,比如强制状态栏对比度,可添加systemStatusBarContrastEnforced等属性 ), ); }
代码参数说明:
- statusBarColor:设置状态栏背景色,默认白色,可根据页面主题自定义
- navigationColor:设置底部导航栏背景色,默认和状态栏保持一致
- statusBarIcon:控制状态栏图标亮度,浅色状态栏配深色图标(
Brightness.dark),深色状态栏配浅色图标(Brightness.light),Android 15会自动遵循系统对比度规则 - navigationBarIcon:同理,控制导航栏图标的亮度
使用示例:
你可以在页面的initState方法里调用这个函数,比如:
@override void initState() { super.initState(); // 配置深色状态栏+浅色图标 systemUiConfig( statusBarColor: Colors.black, statusBarIcon: Brightness.light, ); }
需要注意的是,确保你的Flutter SDK版本在3.10以上,这样SystemChrome的API已经适配了Android 15的系统UI变化,不会出现样式失效的问题。
内容来源于stack exchange
相关产品推荐
相关产品推荐

