我的表单上有一个 ActionBarSherlock。我在运行时读取样式信息。其中一个样式是 ActionBar 的背景颜色。如何在运行时更改它?颜色可以是任何 RGB 值。
问问题
8625 次
3 回答
8
也许这有帮助:如何在 ActionBarSherlock 中设置标题颜色?通过样式或以 getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.ad_action_bar_gradient_bak));
编程方式
随着主题
// add theme in app
<application android:theme="@style/MainTheme"></application>
// MainTheme
<style name="MainTheme" parent="Theme.Sherlock.Light.DarkActionBar">
</style>
// MainThemeGreen
<style name="MainThemeGreen" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MainTheme.ActionBarStyle</item>
</style>
// ActionBar
<style name="MainTheme.ActionBarStyle" parent="Widget.Sherlock.Light.ActionBar">
<item name="android:background">@drawable/bg_green_actionbar</item>
<item name="android:titleTextStyle">@style/MainTheme.ActionBar.TitleTextStyle</item>
</style>
// Text style
<style name="MainTheme.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
<item name="android:textColor">@color/White</item>
</style>
// bg_green_actionbar.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<solid android:color="#ff74af3b" />
</shape>
</item>
</layer-list>
在此之后,您可以即时更改主题: setTheme(R.styles.MainThemeGreen);
于 2012-05-17T10:14:32.063 回答
6
单程:
mSupportActionBar = getSupportActionBar();
mSupportActionBar.setBackgroundDrawable(new ColorDrawable(0xff123456));
0xff123456
您需要的 ARGB 整数在哪里。
于 2012-07-09T23:01:11.850 回答
5
我只是在下面使用了代码
getSupportActionBar().setBackgroundDrawable(new
ColorDrawable(Color.parseColor("#00853c")));
它改变了背景颜色。希望能帮助到你。
于 2013-09-14T14:16:43.580 回答