我想更改(切换)导航栏的颜色:
黑色背景和白色图标 - >白色背景和黑色图标。
我知道这是可能的,因为我在uCrop的Yalantis图书馆看过:
我已经知道要更改我们在Android 23上提供的android:windowLightStatusBar
中使用style.xml
所需的状态栏颜色。
可能有这种类型的财产吗?
从Android O. SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR开始,这应该非常简单
在你的应用程序的BaseTheme
中添加它
<item name="android:navigationBarColor">@color/yourNavigationColor</item>
您可以在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
这个酒吧叫做snackbar尝试这个:
snackBarView.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.BLACK));