在Android Lollipop上设置具有全屏活动的navigationBar颜色

时间:2015-04-22 10:10:12

标签: android android-activity android-5.0-lollipop navigationbar

有没有办法在全屏活动中设置导航栏颜色?

if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    getWindow().setNavigationBarColor(getResources().getColor(R.color.Theme_color));

我的主题风格中的这一行:

<item name="android:navigationBarColor" tools:targetApi="21">#E64A19</item>

两者都在我的活动布局上方产生了相同的transparant导航栏......

代码:

活动:

@Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                //Remove title bar
                this.requestWindowFeature(Window.FEATURE_NO_TITLE);

                //Remove notification bar
                this.getWindow()
    .setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

                setContentView(R.layout.activity_account);

                if (getResources().getBoolean(R.bool.portrait_only)) {
                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                }

                if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    getWindow()
        .setNavigationBarColor(getResources().getColor(R.color.Theme_color));
                }


                //other code ... (irrelevant)

主题:

<style name="FullscreenTheme" parent="android:Theme.NoTitleBar">
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowBackground">@null</item>
        <item name="metaButtonBarStyle">@style/ButtonBar</item>
        <item name="metaButtonBarButtonStyle">@style/ButtonBarButton</item>
        <item name="android:navigationBarColor" tools:targetApi="21">#E64A19</item>
</style>

结果是黑色导航栏。但我想要一个橙色(#E64A19)导航栏。

结果: old result set navbar-color

3 个答案:

答案 0 :(得分:3)

我的解决方案:

一旦我从我的主题样式中删除了parent="android:Theme.NoTitleBar"属性(以及除<item name="android:navigationBarColor" tools:targetApi="21">#E64A19</item>之外的所有其他内容),问题就与生成的代码(XML主题)有关,我的导航栏变为橙色!

结果: screenshot with working navbar-color

答案 1 :(得分:0)

检查此库:SystemBarTint

这对你有用。

答案 2 :(得分:0)

将此值设为您的值-v21 / styles.xml,以便在Lollipop上启用此功能