但是我没有找到更改状态文本颜色的方法。如果我将颜色Primary深色设置为白色,我看不到状态栏文本的图标,因为它们的颜色也是白色的。
有什么办法可以更改状态栏文字颜色吗?
compat版本适用于API 23。
在这里:
// deprecated
// WindowInsetsControllerCompat(window, view).isAppearanceLightStatusBars = Boolean
// also deprecated
// ViewCompat.getWindowInsetsController(view)?.isAppearanceLightStatusBars = Boolean
WindowCompat.getInsetsController(window, decorView)?.isAppearanceLightStatusBars = Boolean
您可以直接从Activity
获取窗口
。
我喜欢将其添加到Window
扩展方法中:
fun Window.setLightStatusBars(b: Boolean) {
WindowCompat.getInsetsController(this, decorView)?.isAppearanceLightStatusBars = b
}
为此,您需要< code>androidx.core
你可以像这样通过编程来实现
只需添加此
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
我不确定你的目标是什么API级别,但是如果你可以使用API 23特定的东西,你可以将以下内容添加到你的AppTheme styles.xml中:
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
<item name="android:windowLightStatusBar">true</item>
当< code > Android:windowLightStatusBar 设置为true时,状态栏文本颜色将在状态栏颜色为白色时可见,反之亦然;当< code > Android:windowLightStatusBar 设置为false时,状态栏文本颜色将设计为在状态栏颜色为深色时可见。
例:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- Status bar stuff. -->
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
<item name="android:windowLightStatusBar">true</item>
</style>
我已经改变了我的应用程序的状态栏颜色为白色后,这个状态栏图标是不可见的。
如果你认为它重复了一些其他的问题,那么我应该让你现在我已经尝试了3,4页的谷歌搜索,也实现了他们。
我正在为我工作的一所学校开发一个应用程序。目前,我有问题改变状态栏文本从它的默认状态黑色到白色,以便我们可以实际阅读它! 我已经尝试了在这里和开发论坛上找到的所有东西,包括调用和
问题内容: 我正在尝试将状态栏的颜色更改为蓝色或其他某种颜色。 这可能吗,或者Apple不允许吗? 问题答案: 注意:此解决方案在iOS 13及更高版本下失败。 Plist中的第一个设置为 输出屏幕截图如下
问题内容: 我的应用程序具有深色背景,但是在iOS 7中状态栏变为透明的。所以我看不到任何东西,只有角落的绿色电池指示灯。如何将状态栏文本颜色更改为白色,就像在主屏幕上一样? 问题答案: 将要在文件的.plist。 在做一个 添加以下方法: { return UIStatusBarStyleLightContent; } 注意 :这不适用于内部控制器,请参阅下面的Tyson评论:) Swift 3
我对这一切都不熟悉。我到处寻找这个小问题的解决办法。有没有办法改变状态栏的颜色?当我使用a色的时候,我也喜欢a色。蓝色我可以看到状态栏中的文本质量不好。 谢谢