3

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

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

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

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

该应用程序运行良好。当我单击后退按钮时,颜色设置为预期的 0xff55000。

4

3 回答 3

2

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

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

希望它对你有用。

于 2013-03-14T03:44:03.150 回答
0

它也不适合我,特别是如果我与导航抽屉切换列表一起使用。在我的情况下,如果我不使用切换,背景会在一秒钟内变为白色,然后加载背景可绘制对象。如果我使用切换,背景保持白色。

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

于 2013-11-12T08:47:52.070 回答
0

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

于 2014-05-26T11:24:09.040 回答