亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

巴林右旗| 日照市| 威海市| 大冶市| 泗水县| 巴林右旗| 古浪县| 泽库县| 东明县| 怀远县| 西盟| 肥西县| 泸西县| 海伦市| 合江县| 论坛| 汤原县| 北海市| 井研县| 库伦旗| 文成县| 荆州市| 马尔康县| 呈贡县| 陕西省| 山丹县| 当雄县| 千阳县| 大竹县| 常熟市| 长岛县| 河曲县| 永胜县| 乐安县| 广平县| 白水县| 宿迁市| 陇南市| 舟山市| 措美县| 磐安县|