android:设置状态和导航栏颜色

时间:2018-08-15 18:33:19

标签: android background uinavigationbar statusbar

对于我的活动,我将窗口的背景色设置为

window.decorView.setBackgroundResource(R.drawable.background_red)

现在,我希望状态和导航在此背景上变得更暗。我怎么能得到这个。 我尝试将主题设置为

`<style name="Theme.OnArrival.AccessControl" parent="Theme.OnArrival.Light">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>

    </style>`

但它似乎不适用于导航栏。什么是正确的方法

1 个答案:

答案 0 :(得分:0)

要以编程方式设置状态栏颜色,请使用以下代码:

    Window window = activity.getWindow();
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(ContextCompat.getColor(activity,R.color.statusbar_color));

或在主题中设置colorPrimaryDark

有关更多详细信息,请参见here