如何在所有活动中更改ActionBar的颜色?例如,我在SettingsActivity中设置了操作栏颜色,然后想将其应用于我的MainActivity。
我使用此代码设置颜色:
actionBar.setBackgroundDrawable(new ColorDrawable(actionBarColor));
我也尝试使用SharedPreferences来做到这一点,到目前为止我还没有找到它:
prefs.edit().putInt("com.matt.cards.app", actionBarColor);
并获得ActionBarColor:
int isActionBar = prefs.getInt("com.matt.cards.app", 0);
我真的不知道SharedPrefs是如何工作的,所以有人可以指导我吗?或者告诉我另一种方法吗?
由于
答案 0 :(得分:1)
您应该创建一个所有活动都扩展的类......例如......
public class MyActionBarActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setBackgroundDrawable(new ColorDrawable(getResources()
.getColor(R.color.white_background)));
}
}
然后让所有自定义活动扩展此类,如
public class Activity1 extends MyActionBarActivity
public class Activity2 extends MyActionBarActivity
public class Activity3 extends MyActionBarActivity
等
答案 1 :(得分:0)
尝试这样希望它能帮到你,
<style name="AppBaseTheme" parent="Theme.AppCompat.Light"></style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionBarStyle">@style/ActionBarTheme</item>
</style>
<style name="ActionBarTheme" parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">yourcolor</item>
</style>