更改动作栏颜色时崩溃

时间:2015-03-21 04:59:07

标签: android android-actionbar

我正在添加

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff")));

到我的主要活动onCreate。一旦应用程序执行开始,它就会停止响应。我做错了什么?

我的AndroiManifest

<application android:theme="@style/AppTheme" >

我的风格

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"></style>

使用minSdkVersion 21。

2 个答案:

答案 0 :(得分:3)

假设您正在使用ActionBarActivity(与AppCompat主题相对应),您应始终使用getSupportActionBar()而非getActionBar() - 修订时21,getActionBar()将始终返回null ActionBarActivity

答案 1 :(得分:2)

getSupportActionBar() - android.support.v7.app.ActionBarActivity return android.support.v7.app.ActionBar

getActionBar() - android.app.Activity 返回android.app.ActionBar

ActionBar bar = getSupportActionBar();
    ColorDrawable colorDrawable = new  ColorDrawable(Color.parseColor(colorCode));
    bar.setBackgroundDrawable(colorDrawable);

有关详细信息,请访问here