以编程方式在一个活动中更改操作栏背景,更改整个应用程序

时间:2014-11-19 16:32:43

标签: android android-actionbar background-color android-5.0-lollipop

我的问题很简单,只相对于Lollipop 5.0

我有一个主要活动,我设置了某个主题,然后我以编程方式将自定义背景设置为操作栏:

        context.getActionBar().setBackgroundDrawable(context.getResources().getDrawable(
                getCustomColor(context, Theme)));

然后我打开另一个活动,在那里我设置了我的自定义主题,并且我的自定义背景可绘制,这次是半透明的:

    mActionBarBackgroundDrawable.setAlpha(0);
    context.getActionBar().setBackgroundDrawable(
            mActionBarBackgroundDrawable);

当我按下时,如果正确完成活动但是我的主要活动让操作栏完全透明! 就像在我的第二个活动中更改操作栏的背景一样,也将它更改为第一个活动!

从android 4.0到4.4.4正常工作

你能帮助我吗?

谢谢和问候

1 个答案:

答案 0 :(得分:0)

你的context在这里是什么?如果它指向Application,它可能会这样做。直接尝试使用

getActionBar().setBackgroundDrawable(mActionBarBackgroundDrawable);

在您Activity中,或者如果您从Fragment

打来电话
getActivity()getActionBar().setBackgroundDrawable(mActionBarBackgroundDrawable);