在Flutter的系统文件system_chrome.dart中,有两段代码用来更改状态栏内容的颜色是黑色(dark)还是白色(light):
亮色(白色)
// 系统状态栏内容使用亮色(即白色)绘制,适用于深色背景的应用: static const SystemUiOverlayStyle light = SystemUiOverlayStyle( systemNavigationBarColor: Color(0xFF000000), systemNavigationBarDividerColor: null, statusBarColor: null, systemNavigationBarIconBrightness: Brightness.light, statusBarIconBrightness: Brightness.light, statusBarBrightness: Brightness.dark, );深色(黑色)
// 系统状态栏内容使用深色(即黑色)绘制,适用于浅色背景的应用: static const SystemUiOverlayStyle dark = SystemUiOverlayStyle( systemNavigationBarColor: Color(0xFF000000), systemNavigationBarDividerColor: null, statusBarColor: null, systemNavigationBarIconBrightness: Brightness.light, statusBarIconBrightness: Brightness.dark, statusBarBrightness: Brightness.light, );如何使用:
1、引入material包和services包
import 'package:flutter/material.dart'; // 必须引入services包,才能使用 SystemChrome import 'package:flutter/services.dart';2、设置白色状态栏
void main() { runApp(MyApp()); //白色 SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light); } class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: '我爱模板网', home: Scaffold( backgroundColor: Colors.blue, body: Container(), ), ); } }3、设置黑色状态栏:
void main() { runApp(MyApp()); //黑色 SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark); } class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: '我爱模板网', home: Scaffold( backgroundColor: Colors.white, body: Container(), ), ); } }