Android - 在所有活动中设置ActionBar颜色?

时间:2014-08-09 08:47:24

标签: java android android-actionbar

如何在所有活动中更改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是如何工作的,所以有人可以指导我吗?或者告诉我另一种方法吗?

由于

2 个答案:

答案 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>