如何在android
中以编程方式更改操作栏背景颜色中的颜色使用setBackgroundDrawable这个属性。
答案 0 :(得分:2)
有两种方法。
方法1 -
在res / values / styles.xml中,您可以像这样定义它 -
适用于Android 3.0及更高版本
<style name="CustomActionBarTheme"
parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">ANY IMAGE OR HEX COLOR</item>
</style>
适用于Android 2.1及更高版本
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_background</item>
<!-- Support library compatibility -->
<item name="background">@drawable/actionbar_background</item>
</style>
然后将您的主题应用于整个应用或个人活动:
android:theme="@style/CustomActionBarTheme"
方法2 -
要以编程方式进行更改,请尝试此操作 -
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("HEX COLORS"));
答案 1 :(得分:1)
您已经在问题中提到了方法
将其用作:
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("##CC66FF")));
希望这有帮助。
答案 2 :(得分:0)
ActionBar ab = getActionBar();
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#81a3d0"));
ab.setBackgroundDrawable(colorDrawable);
答案 3 :(得分:0)
您可以使用ColorDrawable
ColorDrawable colorDrawable = new ColorDrawable();
colorDrawable.setColor(yourColor);