轻型导航栏Android

问题描述 投票:5回答:4

我想更改(切换)导航栏的颜色:

黑色背景和白色图标 - >白色背景和黑色图标。

Light Navigation Bar

我知道这是可能的,因为我在uCropYalantis图书馆看过:

我已经知道要更改我们在Android 23上提供的android:windowLightStatusBar中使用style.xml所需的状态栏颜色。

可能有这种类型的财产吗?

android material-design navigationbar
4个回答
3
投票

从Android O. SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR开始,这应该非常简单


1
投票

在你的应用程序的BaseTheme中添加它

<item name="android:navigationBarColor">@color/yourNavigationColor</item>

0
投票

您可以在v26 / styles.xml中控制导航栏背景颜色:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="AppTheme.Base">
        ...
        <item name="android:navigationBarColor">@android:color/white</item>
    </style>
</resources>

要使导航栏中的按钮颜色与浅色背景匹配,您需要在acitivity的DecorView上设置2个标志。

在您的活动中:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    View decorView = getWindow().getDecorView();
    decorView.setSystemUiVisibility(FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS | 
                                    SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}

为使此操作生效,窗口必须请求FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS,但不能请求FLAG_TRANSLUCENT_NAVIGATION。

见:https://developer.android.com/.../View#SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR


-15
投票

这个酒吧叫做snackbar尝试这个:

snackBarView.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.BLACK));
© www.soinside.com 2019 - 2024. All rights reserved.