中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android中如何使用SwipeRefreshLayout下拉刷新組件

發布時間:2021-06-29 14:25:48 來源:億速云 閱讀:331 作者:Leah 欄目:移動開發

這篇文章給大家介紹android中如何使用SwipeRefreshLayout下拉刷新組件,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

查看文檔,我們可以知道,在SwipRefreshLayout中存在一個接口,通過此接口我們可以監聽滑動手勢,其實使用此組件最重要的步驟就是實現此接口的onRefresh方法,在此方法中實現數據的更新操作。如下:

android中如何使用SwipeRefreshLayout下拉刷新組件

接口中的方法:

android中如何使用SwipeRefreshLayout下拉刷新組件

1、setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener):設置手勢滑動監聽器。

2、setProgressBackgroundColor(int colorRes):設置進度圈的背景色。

3、setColorSchemeResources(int… colorResIds):設置進度動畫的顏色。

4、setRefreshing(Boolean refreshing):設置組件的刷洗狀態。

5、setSize(int size):設置進度圈的大小,只有兩個值:DEFAULT、LARGE

弄清楚API后,我們下面進行實際編碼,首先先做布局,具體內容如下:

<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout      xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical"     android:id="@+id/swipeLayout" >           <ListView          android:id="@+id/mylist"         android:layout_width="match_parent"         android:layout_height="wrap_content"/>      </android.support.v4.widget.SwipeRefreshLayout>

Activity核心代碼如下:

swipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.swipeLayout);          swipeRefreshLayout.setColorSchemeResources(R.color.swipe_color_1,                 R.color.swipe_color_2,                 R.color.swipe_color_3,                 R.color.swipe_color_4);         swipeRefreshLayout.setSize(SwipeRefreshLayout.LARGE);;         swipeRefreshLayout.setProgressBackgroundColor(R.color.swipe_background_color);         //swipeRefreshLayout.setPadding(20, 20, 20, 20);         //swipeRefreshLayout.setProgressViewOffset(true, 100, 200);         //swipeRefreshLayout.setDistanceToTriggerSync(50);         swipeRefreshLayout.setProgressViewEndTarget(true, 100);         swipeRefreshLayout.setOnRefreshListener(new OnRefreshListener() {             @Override             public void onRefresh() {                 new Thread(new Runnable() {                     @Override                     public void run() {                         data.clear();                         for(int i=0;i<20;i++){                             data.add("SwipeRefreshLayout下拉刷新"+i);                         }                         try {                             Thread.sleep(5000);                         } catch (InterruptedException e) {                             e.printStackTrace();                         }                         mHandler.sendEmptyMessage(1);                     }                 }).start();             }         });     //handler     private Handler mHandler = new Handler(){         @Override         public void handleMessage(Message msg) {             super.handleMessage(msg);             switch (msg.what) {             case 1:                                  swipeRefreshLayout.setRefreshing(false);                 adapter.notifyDataSetChanged();                 //swipeRefreshLayout.setEnabled(false);                 break;             default:                 break;             }         }     };

通過如上步驟,我們就實現了一個簡單的下拉刷新操作,在此基礎上,我們可以分析研究一下SwipeRefreshLayout是如何實現的。

通過源碼我們發現SwipeRefreshLayout中的兩個重要的屬性:

private MaterialProgressDrawable mProgress;

private CircleImageView mCircleView;
這兩個屬性正是用于實現進度動畫效果的,在方法createProgressView中,我們看到mCircleView最終加入到了SwipeRefreshLayout中。

private void createProgressView() {
mCircleView = new CircleImageView(getContext(), CIRCLE_BG_LIGHT, CIRCLE_DIAMETER/2);
mProgress = new MaterialProgressDrawable(getContext(), this);
mProgress.setBackgroundColor(CIRCLE_BG_LIGHT);
mCircleView.setImageDrawable(mProgress);
mCircleView.setVisibility(View.GONE);
addView(mCircleView);
}

關于android中如何使用SwipeRefreshLayout下拉刷新組件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澎湖县| 平江县| 兴山县| 松原市| 东安县| 泰来县| 吴江市| 拉孜县| 商丘市| 乌兰察布市| 西丰县| 云龙县| 东方市| 衡阳县| 四平市| 连州市| 筠连县| 华坪县| 台安县| 普兰店市| 大石桥市| 樟树市| 磐石市| 江源县| 平谷区| 石嘴山市| SHOW| 库车县| 钦州市| 连州市| 龙游县| 建德市| 读书| 渝北区| 郓城县| 黄山市| 漳浦县| 昌图县| 名山县| 房产| 光泽县|