当前位置: 首页 > 知识库问答 >
问题:

使用AppCompat ActionBarActivity更改状态栏颜色

赫连卓
2023-03-14

在我的一个活动中,我使用调色板更改了工具栏的颜色。但在使用ActionBarActivity的5.0设备上,状态栏颜色是活动主题中的ColorPrimaryDark的颜色,所以我有两种非常不同的颜色,看起来不太好。

我意识到在5.0中可以使用Window.SetStatusBarColor(),但ActionBarActivity没有这个功能。

所以我的问题是在5.0中,如何用actionbaractivity更改状态栏颜色?

共有1个答案

徐绪
2023-03-14

我不确定我是否理解问题所在。

如果您想以编程方式更改状态栏颜色(如果设备有Android5.0),那么您可以使用window.setStatusBarColor()。活动是从activity还是从actionbaractivity派生,这不应该有什么区别。

试着做:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.BLUE);
}

注意:如果values-v21样式文件已经设置了flag_draws_system_bar_backgrouns标志,则不需要通过编程方式设置该标志,方法是:

    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
 类似资料:
  • 问题内容: 我正在尝试将状态栏的颜色更改为蓝色或其他某种颜色。 这可能吗,或者Apple不允许吗? 问题答案: 注意:此解决方案在iOS 13及更高版本下失败。 Plist中的第一个设置为 输出屏幕截图如下

  • 晚上好,伙计们。 我有个问题。我已经心神不定好长时间了。这里我有两个AScreen和BScreen屏幕。对于AScreen,我想要一个带有黑色图标的白色状态栏。对于BScreen,一个红色的状态栏,图标为白色。如何做到这一点?? 当我在屏幕A上时,我使用Flatter_statusbarcolo状态栏为红色,我导航到屏幕B状态栏为白色,但当我返回屏幕A时,状态栏保持白色(屏幕B的颜色)

  • 对于ios 13,我无法设置状态栏的文本颜色。如何查看statusBarManager?如何仅更改文本颜色? 由于: 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因是:“UIApplication上调用了-statusBar或-statusBarWindow的应用程序:由于不再有状态栏或状态栏窗口,必须更改此代码。”。“请使用“场景”窗口上

  • 本文向大家介绍Android系统更改状态栏字体颜色,包括了Android系统更改状态栏字体颜色的使用技巧和注意事项,需要的朋友参考一下 随着时代的发展,Android的状态栏都不是乌黑一片了,在Android4.4之后我们可以修改状态栏的颜色或者让我们自己的View延伸到状态栏下面。我们可以进行更多的定制化了,然而有的时候我们使用的是淡色的颜色比如白色,由于状态栏上面的文字为白色,这样的话状态栏上

  • 我当前的应用程序运行在iOS 4.2、5和6上。 导航栏为橙色,状态栏为黑色背景色。然而,当我在iOS 7上运行相同的应用程序时,我观察到状态栏看起来是透明的,与导航栏的背景颜色相同。 因此,我无法区分状态栏和导航栏。如何使状态栏与iOS 5和iOS 6中的状态栏相同,即黑色背景色和白色文本色?我如何通过编程实现这一点? 我在谷歌上搜索了一下,发现一个建议,我必须添加一个黑色背景,大约20像素高的

  • 我已经改变了我的应用程序的状态栏颜色为白色后,这个状态栏图标是不可见的。