setBackgroundDrawable无法正常工作

时间:2013-03-14 03:33:53

标签: android android-actionbar actionbarsherlock android-drawable xml-drawable

在我的应用程序中,我正在使用actionbarsherlock。我用

getSupportActionBar().setBackgroundDrwable(R.drawable.test).

它工作正常,颜色显示为预期,但是当我去另一个活动并返回主要活动时。条形颜色变为黑色(在我的程序中,我没有为backgrounddrawble设置黑色,只需在setSupportAction().setBackgroundDrawable中调用onStart())。但是,如果我将代码更改为

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

该应用程序正常。当我单击后退按钮时,颜色设置为0xff55000,这是预期的。

3 个答案:

答案 0 :(得分:2)

我建议您在尝试以编程方式设置颜色时不要直接使用颜色代码。它不会接受它。试试这种方式..

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(mContext.getResources().getColor(Color.BLACK)));

希望它对你有用。

答案 1 :(得分:0)

它也不适用于我,特别是如果我使用导航抽屉切换列表。在我的情况下,如果我不使用切换,背景在一秒钟内变为白色,然后加载背景drawable。如果我使用切换,背景仍为白色。

我必须使用自定义视图来实现我想要获得的效果,而不是更改背景。

答案 2 :(得分:0)

我有几乎相同的问题,它发生调用getActionBar()。setBackgroundDrawable两次不起作用。 如果我只在onCreate中调用它一次就可以了。如果我将代码放在onResume中,它适用于第一个onResume,但对于任何其他onResume,它都设置为灰色