我尝试了几种使状态栏图标变暗的方法,但是按下主屏幕并返回到应用程序后,状态栏图标为白色! 似乎是扑通的虫子。
但是在iOS中它可以正常工作。
我尝试了这些方法:
android应用样式:
<item name="android:windowLightStatusBar">false</item>
AppBar亮度:
brightness: Brightness.dark
Flutter API:
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark.copyWith(
statusBarIconBrightness: Brightness.dark
));
flutter_statusbarcolor软件包:
import 'package:flutter_statusbarcolor/flutter_statusbarcolor.dart';
FlutterStatusbarcolor.setStatusBarWhiteForeground(false);
答案 0 :(得分:1)
将以下内容添加到小部件树中:
AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle.dark,
child: ...
)
答案 1 :(得分:0)
$(':input','#CreditForm','#ProxyForm','#AppIDForm').each(function()
{
switch(this.type)
{
case "text":
case "textarea":
case "hidden":
{
this.value = ''; break;
}
case "radio":
case "checkbox":
{
this.checked=false; break;
}
case "select-one":
{
$(this).prop("selectedIndex", 0); break;
}
case "file":
{
$(this).value = ""; break;
}
}
});
这仅在没有应用栏时起作用。如果有应用程序栏,则无法使用。因此,您必须先更改应用栏的亮度。
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: Colors.white
));
答案 2 :(得分:0)
对我来说,即使回到家后,这也没问题:
SystemChrome.setSystemUIOverlayStyle(
SystemUiOverlayStyle(
// For iOS
statusBarBrightness: Brightness.dark,
// For Android M and higher
statusBarIconBrightness: Brightness.dark,
),
);
答案 3 :(得分:0)
用 SafeArea 包裹你的小部件,并在你的 appBar 中包含亮度,它就会工作。
void main()
{
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(statusBarColor: Colors.deepPurple,
statusBarBrightness: Brightness.dark,
));
runApp(MyApp());
}
return SafeArea(child: Scaffold(
appBar: AppBar(
toolbarHeight: 50,
centerTitle: true,
brightness: Brightness.dark,
backgroundColor: Colors.deepPurple,
child: Text("Your Text"),),