更改操作栏颜色编程不止一次

我在用

getSherlockActivity().getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0xff00ACED)); 

要改变我的行动条在一个片段的颜色,它的作品。 但是,如果我打开这个片段,然后打开另一个片段调用不同的颜色的方法操作栏不会更改为所需的颜色。 相反,它会变成白色,而不是我设置的颜色。

这是我find的一个快速解决scheme

 mActionBar.setBackgroundDrawable(new ColorDrawable(0xff00DDED)); mActionBar.setDisplayShowTitleEnabled(false); mActionBar.setDisplayShowTitleEnabled(true); 

尝试这个,

方法一:

 getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0xff00FFED)); 

方法2:

 getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources() .getColor(R.color.bg_color))); 

方法3:

 getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#3A1212"))); 

我有同样的问题, 从user1634451工作,但只有一次(不会启用连续几个颜色开关)

这绝对解决了它:

 bar.setBackgroundDrawable(new ColorDrawable(getResources() .getColor(R.color.app_bar_online))); 

而不是直接链接到new ColorDrawable(R.color.app_bar_online)

getColor已被弃用。 使用ContextCompat:

 bar.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(context, R.color.app_bar_online))); 

如果你想设置的ActionBar的颜色和颜色作为一个string,这似乎为我工作。

  getSupportActionBar().setBackgroundDrawable( new ColorDrawable(Color.parseColor("#993b3c4e"))); 

你可能必须启用和禁用标题才能正确地刷新/显示,就像user1634451给出的答案一样 ,但我不需要在我的情况下。