我正在尝试使用CupertinoNavigationBar将状态栏文本颜色放入Brightness Light
我已经尝试将带有statusBarColor和亮度的SystemUiOverlayStyle放在主菜单中,但是不起作用 That text in status bar need be white
void main() {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
systemNavigationBarColor: Colors.white,
statusBarColor: Colors.white,
statusBarBrightness: Brightness.light,
statusBarIconBrightness: Brightness.light
));
runApp(MyApp());
}
我正在尝试为ios和android创建应用栏,但我想将状态栏文本颜色设置为浅色,我要设置一个条件,如果是ios,则创建CupertinoNavigationBar(),如果是android,则要放置普通的AppBar (),如果只是具有亮度的AppBar,则可以正常工作,但使用CupertinoNavigationBar(),则不会
答案 0 :(得分:2)
https://github.com/flutter/flutter/issues/41067#issuecomment-571689955 (iOS暗模式和Android)
在 Info.plist
中添加行lr = TFPiecewiseSchedule([[10, 1e-3], [20, 1e-4]])
l = layers.Dense(10)
opt = tf.keras.optimizers.Adam(lr)
@tf.function
def f(x):
...
然后更改状态栏?
<key>UIUserInterfaceStyle</key>
<string>Light</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
答案 1 :(得分:1)
这是不可能的。
CupertinoNavigationBar
使用方法_wrapWithBackground()
定义状态栏是亮还是暗,因此永远不会考虑使用SystemChrome.setSystemUIOverlayStyle()
进行的设置。
典型的解决方案是创建自己的扩展CupertinoNavigationBar
的导航栏,但是在这种情况下,这样做并不容易,因为CupertinoNavigationBar
具有私有的State
并调用其他私有类和方法。
实际上,如果您将CupertinoNavigationBar
与AppBar
进行比较,则其设计会考虑三个属性来定义其亮度:
brightness
变量; ThemeData.AppBarTheme.brightness
; ThemeData.primaryColorBrightness
。请注意,有一个属性可以指定Cupertino小部件的亮度,CupertinoThemeData.brightness
,但是(奇怪地)在_wrapWithBackground()
内部没有考虑。
答案 2 :(得分:0)
尝试将亮度设置为暗。在AppBar中,如果将“亮度”设置为light,它将使状态栏文本变为黑色。
statusBarBrightness: Brightness.dark,