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);