首页 > 解决方案 > android:设置状态和导航栏颜色

问题描述

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

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>`

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

标签: androidbackgrounduinavigationbarstatusbar

解决方案


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

    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在您的主题中。

有关详细信息,请参阅此处


推荐阅读