Android 当我在 Flutter 中使用 appBar 时,导航栏颜色从默认的白色(在 Oreo 中)变为黑色,为什么?
Android Navigation Bar colour changes from default white(in Oreo) to black when I use an appBar in Flutter, Why?
正如我的问题所暗示的那样,当我使用 appBar 时,我的 Android 导航栏颜色从其在 Oreo 中的默认白色变为黑色
所以当我的应用程序启动我的第一个脚手架时,不使用应用程序栏并且只有一个包含一些内容的主体,但是当我更新状态并将其替换为具有新主体和应用程序栏的新脚手架时在 Android Oreo 设备中,默认的白色导航栏颜色变为黑色,如果我删除应用栏,它不会发生,无论如何我可以阻止这种情况?
如果重要的话,这是我的 flutter 医生结果:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.5.1, on Mac OS X 10.12.6 16G1408, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.2)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
[✓] Android Studio (version 3.1)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[!] VS Code (version 1.26.1)
[✓] Connected devices (1 available)
! Doctor found issues in 1 category.
编辑:
Navigation Bar是指底部的Android软件导航按钮,不是状态栏,这个导航栏由"Home"、"Recent"和[=24]组成=] 按钮,某些设备(如 Galaxy S7)具有硬件按钮而不是软件按钮。
AppBar
在内部创建一个 AnnotatedRegion<SystemUiOverlayStyle>
小部件,由 Flutter 的原生 UI 绑定处理。它使状态栏变暗或变亮。
在带有 AppBar
的屏幕上,您可以使用其 brightness
属性 更改状态栏颜色:
AppBar(
brightness: Brightness.light,
title: new Text('Flutter Test'),
)
Brightness.light
导致状态栏变暗 icons/text。
在没有 AppBar
的屏幕上,您可以使用 AnnotatedRegion<SystemUiOverlayStyle>
设置状态栏的颜色。
看来是 flutter sdk 的一个 bug,随着最近的更新,使用 AppBar 时导航栏颜色不再自动更改,供任何人参考这是我的 flutter doctor 结果
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.6.0, on Mac OS X 10.12.6 16G1408, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.2)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
[✓] Android Studio (version 3.1)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.26.1)
[✓] Connected devices (1 available)
正如我的问题所暗示的那样,当我使用 appBar 时,我的 Android 导航栏颜色从其在 Oreo 中的默认白色变为黑色
所以当我的应用程序启动我的第一个脚手架时,不使用应用程序栏并且只有一个包含一些内容的主体,但是当我更新状态并将其替换为具有新主体和应用程序栏的新脚手架时在 Android Oreo 设备中,默认的白色导航栏颜色变为黑色,如果我删除应用栏,它不会发生,无论如何我可以阻止这种情况?
如果重要的话,这是我的 flutter 医生结果:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.5.1, on Mac OS X 10.12.6 16G1408, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.2)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
[✓] Android Studio (version 3.1)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[!] VS Code (version 1.26.1)
[✓] Connected devices (1 available)
! Doctor found issues in 1 category.
编辑:
Navigation Bar是指底部的Android软件导航按钮,不是状态栏,这个导航栏由"Home"、"Recent"和[=24]组成=] 按钮,某些设备(如 Galaxy S7)具有硬件按钮而不是软件按钮。
AppBar
在内部创建一个 AnnotatedRegion<SystemUiOverlayStyle>
小部件,由 Flutter 的原生 UI 绑定处理。它使状态栏变暗或变亮。
在带有 AppBar
的屏幕上,您可以使用其 brightness
属性 更改状态栏颜色:
AppBar(
brightness: Brightness.light,
title: new Text('Flutter Test'),
)
Brightness.light
导致状态栏变暗 icons/text。
在没有 AppBar
的屏幕上,您可以使用 AnnotatedRegion<SystemUiOverlayStyle>
设置状态栏的颜色。
看来是 flutter sdk 的一个 bug,随着最近的更新,使用 AppBar 时导航栏颜色不再自动更改,供任何人参考这是我的 flutter doctor 结果
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.6.0, on Mac OS X 10.12.6 16G1408, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.2)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
[✓] Android Studio (version 3.1)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.26.1)
[✓] Connected devices (1 available)