Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改导航栏颜色,Android_Java_Android_Xml - Fatal编程技术网

Java 更改导航栏颜色,Android

Java 更改导航栏颜色,Android,java,android,xml,Java,Android,Xml,在棒棒糖制作前的设备中,如何将导航栏的颜色/透明度从黑色更改为通用颜色(例如,状态栏或操作栏的颜色) 我可以使用AppCompat进行设置吗?还是只适用于SDK 21?您可以在AppCompat主题中设置属性navigationBarColor,或者在本机v21主题中设置属性android:navigationBarColor <style name="AppTheme" parent="@style/Theme.AppCompat.Light"> ... <i

在棒棒糖制作前的设备中,如何将导航栏的颜色/透明度从黑色更改为通用颜色(例如,状态栏或操作栏的颜色)


我可以使用AppCompat进行设置吗?还是只适用于SDK 21?

您可以在AppCompat主题中设置属性
navigationBarColor
,或者在本机v21主题中设置属性
android:navigationBarColor

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
    ...
    <item name="navigationBarColor">#123456</item>
</style>

...
#123456


请注意,这在棒棒糖制作前的设备上不起作用,因为系统需要支持此功能,而Android 4.4或更高版本则不支持此功能。

另一种编程方式:

window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getResources().getColor(R.color.DarkOrange));
window.setNavigationBarColor(getResources().getColor(R.color.red));
此外,要更改状态栏颜色,请添加以下行:

window.setStatusBarColor(getResources().getColor(R.color.green));
style-v21

<resources>

<style name="Theme.DesignDemo" parent="Base.Theme.DesignDemo">
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:windowTranslucentNavigation">true</item>//translucent
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:navigationBarColor">@android:color/transparent</item>
</style>

真的
真//半透明
@android:彩色/透明
@android:彩色/透明

检查这个()是我指的导航栏。谢谢,但我正在寻找同样适用于棒棒糖前设备的东西(minSDK 11)。这是不可能的,至少对于使用appcompat的棒棒糖设备是可能的,这样我就不必将minSDK设置为21?我发现
没有找到与给定名称匹配的资源:attr'navigationBarColor'。
对于appcompat,没有
navigationBarColor
您必须使用本机v21
android:navigationBarColor
in values-21非常感谢,window.addFlags(WindowManager.LayoutParams.FLAG\u DRAWS\u SYSTEM\u BAR\u BACKGROUNDS);是我错过的东西。