如何在颤动中使设备顶部面板(状态栏)具有与 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
的默认状态栏颜色,该颜色在FlutterActivityDelegate
的onCreate
方法中设置。
【讨论】:
非常感谢您的快速回复。有用。 ^_^ 有什么方法可以改变图标的颜色?我的应用栏是白色的 这曾经可以工作,但现在我的文件在 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 相同的背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章