iOS 中带有 SafeArea 的 Flutter 状态栏颜色
Flutter status bar color with SafeArea in iOS
我正在使用以下代码在 flutter 中为状态栏着色。
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
return AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle(statusBarColor: Colors.blue),
child: MaterialApp(
title: 'My App',
theme: ThemeData(
primarySwatch: Colors.blue),
home: MyHomeScreen(),
navigatorKey: navigatorKey,
),
);
}}
class MyHomeScreen extends StatelessWidget {
const MyHomeScreen({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Header(), // my own custom header
),
);
}
}
使用上面的代码,我在 Android 中得到了想要的结果,但在 iOS 中,状态栏仍然显示为白色。
我已经尝试 this link 但我没有得到 iOS.
所需的解决方案
我也有同样的问题。我找到了 this.
的解决方案
试试那个包。
将以下几行添加到您的代码中,
SystemChrome.setSystemUIOverlayStyle(
SystemUiOverlayStyle(statusBarColor: any Color),
);
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
它会改变整个应用程序的状态栏颜色:)
更新:
您可以使用此技巧在 Ios
中实现状态栏颜色
@override
Widget build(BuildContext context) {
return Container(
color: any color,
child: SafeArea(
child: Scaffold(
body: Header(), // my own custom header
),
),
);
}
我正在使用以下代码在 flutter 中为状态栏着色。
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
return AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle(statusBarColor: Colors.blue),
child: MaterialApp(
title: 'My App',
theme: ThemeData(
primarySwatch: Colors.blue),
home: MyHomeScreen(),
navigatorKey: navigatorKey,
),
);
}}
class MyHomeScreen extends StatelessWidget {
const MyHomeScreen({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Header(), // my own custom header
),
);
}
}
使用上面的代码,我在 Android 中得到了想要的结果,但在 iOS 中,状态栏仍然显示为白色。 我已经尝试 this link 但我没有得到 iOS.
所需的解决方案我也有同样的问题。我找到了 this.
的解决方案试试那个包。
将以下几行添加到您的代码中,
SystemChrome.setSystemUIOverlayStyle(
SystemUiOverlayStyle(statusBarColor: any Color),
);
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
它会改变整个应用程序的状态栏颜色:)
更新:
您可以使用此技巧在 Ios
中实现状态栏颜色@override
Widget build(BuildContext context) {
return Container(
color: any color,
child: SafeArea(
child: Scaffold(
body: Header(), // my own custom header
),
),
);
}