Flutter IphoneX 状态栏颜色无 app Bar
Posted
技术标签:
【中文标题】Flutter IphoneX 状态栏颜色无 app Bar【英文标题】:Flutter IphoneX status bar color without app Bar 【发布时间】:2019-05-21 16:54:51 【问题描述】:我有一种情况,我不想在我的应用程序中使用应用程序栏,问题是如果我删除应用程序栏,状态栏将采用默认颜色,并且脚手架中没有属性来更新状态栏颜色,有是否将 Body 包裹在安全区域中没有效果,状态栏始终保持不变
示例代码
return Scaffold(
body: ListView(
children: <Widget>[
【问题讨论】:
对布局没有影响 Flutter - How to set status bar color when AppBar not present的可能重复 【参考方案1】:您可以通过使 AppBar 不可见来更改状态栏的颜色。使用PreferredSize
,我们可以将AppBar的Height设置为0,并将backgroundColor
属性设置为状态栏颜色。
appBar: PreferredSize(child: AppBar(
backgroundColor: Colors.red,
elevation: 0.0,
),
preferredSize: Size.fromHeight(0.0)
)
【讨论】:
【参考方案2】:如果您不想使用脚手架Scaffold
,可以更改此小部件以更改状态栏的文本/图标颜色:
AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle.light, // or dark
child: <your page>,
)
要更改背景颜色,请使用Container
或DecoratedBox
。
您可以从MediaQuery.of(context).padding
获取状态栏的高度。
【讨论】:
我想要带脚手架的材料应用以上是关于Flutter IphoneX 状态栏颜色无 app Bar的主要内容,如果未能解决你的问题,请参考以下文章