方案一: 使用 AppBar
配置
在
AppBar
中配置属性:
brightness
,其取值:
-
Brightness.dark
AppBar 配置为暗色,显示图标为 白色
图标
-
Brightness.light
AppBar 配置为亮色,显示图标为 暗色
图标
import 'package:flutter/material.dart';
class PageDevelop extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _PageDevelopState();
}
}
class _PageDevelopState extends State<PageDevelop> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("开发者菜单"),
titleTextStyle: TextStyle(color: Colors.white),
// 配置导航栏图标的显示模式
brightness: Brightness.dark,
),
);
}
}
方案二:通过 AnnotatedRegion
控制
使用AnnotatedRegion
包括需要处理状态栏图标的控件, value
可配置为 SystemUiOverlayStyle
:其取值
-
SystemUiOverlayStyle.dark
配置 UI 为 暗主题
-
SystemUiOverlayStyle.light
配置 UI 为 亮主题
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class PageDevelop extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _PageDevelopState();
}
}
class _PageDevelopState extends State<PageDevelop> {
@override
Widget build(BuildContext context) {
// 通过 `AnnotatedRegion` 包括需要处理状态栏图标的显示样式
return AnnotatedRegion(
child: Scaffold(),
value: SystemUiOverlayStyle.dark,
);
}
}
注意点:
AppBar
配置为配置 appBar 的样式,相应的,其状态栏的图标就会调整为与 appBar 样式相反的样式
AnnotatedRegion
为直接配置 UI 样式,其状态栏样式与字面意思相同