如何防止 AppBar 覆盖自定义状态栏颜色
How to prevent AppBar from overriding custom status bar color
我无法更改状态栏颜色,似乎是因为 AppBar 一直覆盖它。
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(), // this component sets a status bar color and brightness
body: AnnotatedRegion<SystemUiOverlayStyle>( // this component fails to
// override the status bar color
// and brightness set by the AppBar
value: SystemUiOverlayStyle(
statusBarColor: Colors.blue,
statusBarIconBrightness: Brightness.light
),
child: Container()
)
);
}
当我注释掉AppBar 时,状态颜色变为蓝色。当我取消评论时,状态栏颜色保持蓝色但无法再次更改。 AppBar 好像锁定了当前颜色。
在子窗口小部件中,我尝试在返回我的组件之前使用 setSystemUIOverlayStyle,但没有帮助:
Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: Colors.blue,
statusBarIconBrightness: Brightness.light
));
return Container();
}
有AppBar时如何设置状态栏颜色?
用 SafeArea
包装你的根小部件
有关小部件的更多详细信息 click here
我无法更改状态栏颜色,似乎是因为 AppBar 一直覆盖它。
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(), // this component sets a status bar color and brightness
body: AnnotatedRegion<SystemUiOverlayStyle>( // this component fails to
// override the status bar color
// and brightness set by the AppBar
value: SystemUiOverlayStyle(
statusBarColor: Colors.blue,
statusBarIconBrightness: Brightness.light
),
child: Container()
)
);
}
当我注释掉AppBar 时,状态颜色变为蓝色。当我取消评论时,状态栏颜色保持蓝色但无法再次更改。 AppBar 好像锁定了当前颜色。
在子窗口小部件中,我尝试在返回我的组件之前使用 setSystemUIOverlayStyle,但没有帮助:
Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: Colors.blue,
statusBarIconBrightness: Brightness.light
));
return Container();
}
有AppBar时如何设置状态栏颜色?
用 SafeArea
包装你的根小部件
有关小部件的更多详细信息 click here