在我的应用程序中,我正在使用actionbarsherlock。我用
getSupportActionBar().setBackgroundDrwable(R.drawable.test).
它工作正常,颜色显示为预期,但是当我去另一个活动并返回主要活动时。条形颜色变为黑色(在我的程序中,我没有为backgrounddrawble设置黑色,只需在setSupportAction().setBackgroundDrawable
中调用onStart()
)。但是,如果我将代码更改为
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(0xff550000)));
该应用程序正常。当我单击后退按钮时,颜色设置为0xff55000,这是预期的。
答案 0 :(得分:2)
我建议您在尝试以编程方式设置颜色时不要直接使用颜色代码。它不会接受它。试试这种方式..
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(mContext.getResources().getColor(Color.BLACK)));
希望它对你有用。
答案 1 :(得分:0)
它也不适用于我,特别是如果我使用导航抽屉切换列表。在我的情况下,如果我不使用切换,背景在一秒钟内变为白色,然后加载背景drawable。如果我使用切换,背景仍为白色。
我必须使用自定义视图来实现我想要获得的效果,而不是更改背景。
答案 2 :(得分:0)
我有几乎相同的问题,它发生调用getActionBar()。setBackgroundDrawable两次不起作用。 如果我只在onCreate中调用它一次就可以了。如果我将代码放在onResume中,它适用于第一个onResume,但对于任何其他onResume,它都设置为灰色