【问题标题】:Status Bar Color - Flutter状态栏颜色 - Flutter
【发布时间】:2021-06-04 23:22:10
【问题描述】:

我的整个应用都需要带有白色前景的红色状态栏。

我正在为此使用flutter_statusbarcolor 包。

到目前为止,我做了以下事情:

  1. 在 pubsec.yaml 中添加了包
  2. 在我的 main.dart 文件中导入包
  3. 在 MyApp 类的build() 中添加以下代码行
    FlutterStatusbarcolor.setStatusBarColor(Colors.red[900]);    
    FlutterStatusbarcolor.setStatusBarWhiteForeground(true);

结果:

  1. 状态栏的颜色为红色(正常工作)。
  2. 前景色为白色。但是在重新启动时变为黑色。热重载时,变回白色。但重启后会变回黑色。

这是我的完整代码:

import 'package:flutter_statusbarcolor/flutter_statusbarcolor.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  
  @override
  Widget build(BuildContext context) {
    FlutterStatusbarcolor.setStatusBarColor(Colors.red[900]);
    FlutterStatusbarcolor.setStatusBarWhiteForeground(true);
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'App Title',
      home: HomeScreen(),
    );
  }
}

我还尝试了以下方法:

  1. SystemChrome.setSystemUIOverlayStyle()
  2. appBarTheme: Theme.of(context).appBarTheme.copyWith(brightness: Brightness.light)

没有任何效果。谁能帮我维持整个应用程序的白色前景?

【问题讨论】:

    标签: flutter flutter-layout


    【解决方案1】:

    您可以从此文档中尝试此操作 ==> setSystemUIOverlayStyle method

    Widget build(BuildContext context) {
        SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
            statusBarColor: Colors.red,
        );
        return Placeholder();  // using As your Need
    }
    

    【讨论】:

      【解决方案2】:

      添加这个:

      import 'package:flutter/services.dart'
      

      在主题数据后使用下面的代码

       home: AnnotatedRegion<SystemUiOverlayStyle>(
            value: SystemUiOverlayStyle(
              statusBarColor: Colors.transparent,
      

      希望它有用...

      【讨论】:

        猜你喜欢
        • 2019-05-21
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2020-02-04
        • 2018-12-03
        • 2021-02-04
        • 2023-03-05
        • 2021-07-31
        相关资源
        最近更新 更多