Android应用程序 - 半透明状态栏显示为白色

时间:2016-11-17 19:21:30

标签: android android-actionbar transparent status

我创建了一个带有ActionBarActivity的设置页面,我通过在主题中添加以下行来使状态栏保持半透明:

<item name="android:windowTranslucentStatus">true</item>
<item name="android:fitsSystemWindows">true</item>

问题是状态栏是白色的,我希望它是黑色标题栏的颜色。我注意到当我将背景颜色从白色更改为黄色(“设置”部分下方的区域)时,状态栏也会发生变化,因此它会从背景而不是标题栏渲染颜色。有谁知道如何解决这个问题?

enter image description here

1 个答案:

答案 0 :(得分:0)

如果使用AppCompat主题,则状态栏会从colorPrimaryDark元素中获取颜色:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimaryDark">@color/primary_dark</item>
</style>

或者,您可以通过以下方式设置棒棒糖及以上状态栏的颜色:

public static void setStatusBarColor(Activity activity, int color) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        activity.getWindow().setStatusBarColor(color);
    }
}