封裝BaseActivity,一行代碼實現加載狀態的更改

1 。創建BaseActivity。

之前遇到加載錯誤,空數據,網絡錯誤,和加載中,我都是在當前activity去隱藏和顯示對應的布局,導致重復很多代碼。so, 必須封裝。

首先 布局,? 采用ViewStub ?對更種布局的添加 ,因為有的時候,這幾種布局不一定都需要展示出來,所以就用viewstub來加載優化。 先看圖。


base_toobar_view ?考慮到有的時候toolbar 并不能滿足我們,所以這里就可以添加自定義的toolbar,這樣就不影響整體的更改

base_contentView 主要就是為了加載需要顯示的布局。

ok下面就開始看BaseActivity。



getLayoutInflater().inflate(layoutResID, null, false); 和getLayoutInflater().inflate(getToobarId(), null, false); 來加載布局和toobar ,然后添加到BaseView中去。

2. 加載狀態布局和顯示。


我會把加載的布局放在SparseArray中去,當需要去顯示的時候就判斷集合中適合已經有了這個布局,若沒有再通過viewstub去加載。 最后再顯示出來。當然也少不了加載錯誤或者網絡錯誤的時候,需要重新加載,這里我直接寫個監聽把方法拋出去。


?這個一樣放在BaseActivity。 這樣我們就在子Activity中直接調用方法。

子activity中引用就沒什么好說的了。


顯示布局


添加toobar
添加事件

看看動圖。。。 錄制屏幕了 裝不來gif 就不上傳了。 ?可以直接下載下來跑一下, github里面有debug包

github 地址 :https://github.com/CQBOBOZHU/BaseState?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容