android:Activity中切換不同狀態頁:載入中,載入失敗,資料頁,空頁面……
阿新 • • 發佈:2019-02-12
現在主流的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中