android – Actionbar背景未被更改

我已尝试使用以下代码更改操作栏的背景.它适用于4.3但不低于4.3.使用以下代码,正在设置null背景即.旧的背景被删除但新的背景未被设置.
请帮我.

    public class TestActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // Todo Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.testing);
    }

    /**
     * Callback when button is clicked to change background
     * @param v
     */
    public void onStartClicked(View v) {
        int Min = 0;
        int Max = 2;

        //Random number generator between 0 and 2 inclusive
        int pos = Min + (int) (Math.random() * ((Max - Min) + 1));

        if (pos == 0) {
            getActionBar().setBackgroundDrawable(
                    getResources().getDrawable(R.drawable.header));
        } else if (pos == 1) {
            getActionBar().setBackgroundDrawable(
                    getResources().getDrawable(R.drawable.inBox_header));

        } else if (pos == 2) {
            getActionBar().setBackgroundDrawable(
                    getResources().getDrawable(R.drawable.outBox_header));

        }

    }
}

解决方法:

最后,我找到了解决方案.在设置背景后通过显示和隐藏动作栏的标题来实现.

getActionBar().setBackgroundDrawable(ContextCompat.getDrawable(this,R.drawable.inBox_header)); 
actionBar.setdisplayShowTitleEnabled(true);
actionBar.setdisplayShowTitleEnabled(false);

谢谢大家的关注.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...