[关闭]
@Faith 2014-12-25T12:25:22.000000Z 字数 832 阅读 1898

Android 5.0开发时ActionBar上loading不显示的解决办法

已发表

    supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

appcompat 到了21版本loading就不起作用喽,需要自己去把内部实现下。
原理就是手动往ActionBar里添加自定义view,然后复写方法控制,调用显示方法自然和之前一样了。

 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ProgressBar progressBar = new ProgressBar(this);
progressBar.setVisibility(View.GONE);
progressBar.setIndeterminate(true);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setCustomView(progressBar, new ActionBar.LayoutParams(GravityCompat.END));
}

 @Override
public void setSupportProgressBarIndeterminateVisibility(boolean visible) {
getSupportActionBar().getCustomView().setVisibility(visible ? View.VISIBLE : View.GONE);
}

显示

    setSupportProgressBarIndeterminateVisibility(true);

不显示

    setSupportProgressBarIndeterminateVisibility(false);
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注