现在主流的APP上,一个页面都会有好几种显示状态,一开始,我是将这些都放在xml中,然后显示隐藏来实现的,但很麻烦,复用也不方便。
介绍一个方法工具,效果如饿了么,美团外卖等:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//放数据的父布局
mVaryViewHelper = new VaryViewHelper.Builder()
.setDataView(findViewById(R.id.vary_content))//放数据的父布局,逻辑处理在该Activity中处理
.setLoadingView(LayoutInflater.from(this).inflate(R.layout.layout_loadingview, null))//加载页,无实际逻辑处理
.setEmptyView(LayoutInflater.from(this).inflate(R.layout.layout_emptyview, null))//空页面,无实际逻辑处理
.setErrorView(LayoutInflater.from(this).inflate(R.layout.layout_errorview, null))//错误页面
.setRefreshListener(new ErrorClickListener())//错误页点击刷新实现
.build();
}
显示不同的页面,分别调用
mVaryViewHelper.showDataView();
mVaryViewHelper.showEmptyView();
mVaryViewHelper.showErrorView();
mVaryViewHelper.showLoadingView();
复用:
思路:将第一步的初始化方法写在BaseActivity中
引用的类库我之后上传到csdn中,欢迎下载
http://download.csdn.net/detail/u012764110/9483724