【问题标题】:how to change the color of statusbar in flutter app如何在 Flutter 应用中更改状态栏的颜色
【发布时间】:2021-05-07 13:18:58
【问题描述】:

谁能告诉我如何将此状态栏的颜色更改为其他颜色。正如您在下图中看到的那样,它是深色的,时间、电池、网络详细信息也以深色显示。所以这使它们不可见。 我要么想动态更改颜色,比如当背景颜色变暗时系统小部件(时间、电池、网络)的文本颜色变为白色,而当颜色变亮时,这些文本颜色变暗。

或者如果我每次都必须硬编码颜色。我应该在哪里做?任何解决方案都将是可观的。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    这个包:https://pub.dev/packages/flutter_statusbarcolor

    import 'package:flutter_statusbarcolor/flutter_statusbarcolor.dart';
    
    void main() => runApp(new MyApp());
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        FlutterStatusbarcolor.setStatusBarColor(Colors.white);
        return MaterialApp(
          title: "Flutter",
          theme: ThemeData(
            primarySwatch: Colors.grey,
          ),
          home: HomeScreen(),
        );
      }
    }
    

    【讨论】:

    • 谢谢。包是唯一的解决方案吗?
    • 但我认为flutter_statusbarcolor更好。
    • 包已停产。它不工作。在官方 api.flutter.dev 文档中,他们展示了 build 方法的实现。如果我们有多个页面怎么办。我们是否需要在每个屏幕上实现它。无论如何我们可以在 main.dart 中提及它,并将其应用于所有应用程序,而无需在每个视图或每个文件中导入特定代码?
    【解决方案2】:

    我发现了如何在 Flutter 内置函数中实现这一点。 在MaterialApp 进入theme 根据您的要求创建AppBarTheme 并赋予属性brightenss: Brightness.dark or Brightness.light。如果您的状态栏颜色较暗,则输入Brightness.dark,它将使图标和文本为白色,反之亦然,用于浅色背景。

    【讨论】:

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