超簡單!原生SwipeRefreshLayout實現首頁下拉重新整理
簡介
SwipeRefreshLayout是Google官方推出的一款下拉重新整理元件,位於v4相容包下
android.support.v4.widget.SwipeRefreshLayout
這裡簡單介紹一下它的超簡單的用法,因為我比較懶,所以直接上程式碼了!
佈局
佈局構造介紹
大概講一下這個佈局構造,直接從專案裡貼過來的,主頁用DragLayout佈局的,由一個主頁和一個側邊欄組成
xml
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/main_refresh"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
<!--Control-->
<com.jty.view.DragLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dl"
android:layout_width="wrap_content"
android:layout_height="match_parent"
>
<!--側滑-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#eff2f5"
>
</RelativeLayout>
<!--主頁-->
<com.jty.view.MyRelativeLayout
android:id="@+id/activity_main"
android:background="@color/main_background"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.jty.view.MyRelativeLayout>
</com.jty.view.DragLayout>
</android.support.v4.widget.SwipeRefreshLayout>
實現邏輯
- 首先實現監聽方法,並且設定監聽
implements SwipeRefreshLayout.OnRefreshListener
/**
* Pull To ReFresh
*/
@BindView(R.id.main_refresh)
SwipeRefreshLayout mainRefresh;
private boolean isRefresh = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
EventBus.getDefault().register(this);
//set refresh listener
mainRefresh.setOnRefreshListener(this);
isLogin();
}
然後進行寫你自己的業務邏輯
重寫onRefresh()方法:
/**
* Main Pull To Refresh
*/
@Override
public void onRefresh() {
//判斷重新整理狀態
if (!isRefresh) {
isRefresh = true;
//send request
getInfo(username, token, ip);
}
}
- 在請求完成之後,傳送一條請求到主執行緒:
//send msg to main
EventBus.getDefault().post("complete");
-
主執行緒處理
這裡用的EventBus,可以當Handler用,主執行緒收到資訊之後對狀態進度條狀態做處理,OK,完成了!
@Subscribe(threadMode = ThreadMode.MAIN)
public void MainHandler(String msg) {
if(msg.equals("complete")){
//完成請求後隱藏重新整理進度條
mainRefresh.setRefreshing(false);
isRefresh = false;
}
}
後記
以上列出的只是SwipeRefreshLayout的一般用法,如果需要自定義的話就相對複雜一點了,可以參考Android官方說明:https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html,真的特別詳細!
相關文章
- Android開發之SwipeRefreshLayout實現下拉重新整理Android
- mui 單頁面下拉重新整理UI
- 直播平臺製作,SwipeRefreshLayout下拉重新整理的用法
- 原生 JS實現一個簡單分頁外掛JS
- 實現RecyclerView下拉重新整理View
- 仿UC瀏覽器首頁下拉動畫及實現分析瀏覽器動畫
- AlloyTouch 實現下拉重新整理
- AlloyTouch實現下拉重新整理
- 直播app原始碼,系統首頁或任意頁面下拉自動重新整理APP原始碼
- SwipeRefreshLayout,用最少的程式碼定製最美的上下拉重新整理樣式
- Android 程式設計下如何調整 SwipeRefreshLayout 的下拉重新整理距離Android程式設計
- 用原生http 實現簡單 Express 框架HTTPExpress框架
- 淘寶頁面實現(包括級聯選單,下拉選單,框架)框架
- 小程式頁面下拉重新整理
- Android開發筆記(一百二十三)下拉重新整理佈局SwipeRefreshLayoutAndroid筆記
- React.js中實現下拉重新整理ReactJS
- vue單頁實現前進重新整理後退不重新整理Vue
- Kotlin超簡單實現StepViewKotlinView
- 新浪微部落格戶端(6)-建立首頁下拉選單
- jQuery + jQuery Mobile 實現省市二級下拉選單頁面jQuery
- JDRefresh 輕簡下拉重新整理框架框架
- Flutter 實現下拉重新整理&上拉載入Flutter
- UITableView實現下拉重新整理新增資料功能UIView
- 如何實現上拉載入,下拉重新整理?
- 實現不同頁面不同頁首
- 原生JavaScript實現的SPA單頁應用(hash路由)JavaScript路由
- django 網站實現簡單分頁Django網站
- Android下拉重新整理完全解析,教你如何一分鐘實現下拉重新整理功能Android
- 簡單的動畫方式實現的元素下拉和上卷效果動畫
- 如何實現重新整理網頁網頁
- 記微信網頁開發單頁面返回不重新整理的實現網頁
- React Native 實現自定義下拉重新整理元件React Native元件
- Android實現帶動畫的下拉重新整理RecyclerViewAndroid動畫View
- 超簡單實現iOS列表的索引功能iOS索引
- easyui利用combobox實現下拉框簡單介紹UI
- JS_簡單實現頁面輸入JS
- SmartRefreshLayout+BaseRecyclerviewAdapterHelper使用MVP方式實現下拉重新整理ViewAPTMVP
- 【安卓筆記】下拉重新整理元件的使用及實現安卓筆記元件