如何在颤动中使设备顶部面板(状态栏)具有与 AppBar 相同的背景颜色?

Posted

技术标签:

【中文标题】如何在颤动中使设备顶部面板(状态栏)具有与 AppBar 相同的背景颜色?【英文标题】:How to make device top panel (status bar) have the same background color as AppBar in flutter? 【发布时间】:2018-02-06 02:54:11 【问题描述】:

如何使设备顶部面板(状态栏)具有与 AppBar 相同的背景颜色?设备顶部面板的颜色总是比 AppBar 背景颜色深。非常感谢。

【问题讨论】:

【参考方案1】:

ios 上,这已经是真的了。

android 上,将以下内容添加到 MainActivity.java 中的 onCreate 调用 super.onCreate(savedInstanceState);

getWindow().setStatusBarColor(0x00000000);

这将覆盖0x40000000 的默认状态栏颜色,该颜色在FlutterActivityDelegateonCreate 方法中设置。

【讨论】:

非常感谢您的快速回复。有用。 ^_^ 有什么方法可以改变图标的​​颜色?我的应用栏是白色的 这曾经可以工作,但现在我的文件在 Kotlin 中看起来像这样。如何获得透明条? import androidx.annotation.NonNull; import io.flutter.embedding.android.FlutterActivity import io.flutter.embedding.engine.FlutterEngine import io.flutter.plugins.GeneratedPluginRegistrant import android.os.Build import android.view.ViewTreeObserver import android.view.WindowManager class MainActivity: FlutterActivity() override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) GeneratedPluginRegistrant.registerWith(flutterEngine); 【参考方案2】:

这是一个特定于颤振的解决方案。在build方法中可以使用flutter服务包。

import 'package:flutter/services.dart';
Widget build(BuildContext context) 
    SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
      statusBarColor: Colors.transparent, //top bar color
      statusBarIconBrightness: Brightness.dark, //top bar icons
      systemNavigationBarColor: Colors.white, //bottom bar color
      systemNavigationBarIconBrightness: Brightness.dark, //bottom bar icons
    ));

//....

【讨论】:

以上是关于如何在颤动中使设备顶部面板(状态栏)具有与 AppBar 相同的背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中使底部导航栏不透明?

当项目具有动态高度时,如何根据设备方向创建动态颤动网格布局

如何在 Ionic 2 中使状态栏颜色可变

手机不能下滑控制面板

如何在颤动中显示具有顶部和底部渐变阴影的图像?

如何在 Swift 中使 iPhone 状态栏透明?