android下拉刷新上拉載入
1. Android 控制項smartRefeshLayout只要下拉刷新,禁止上拉載入
一.導入依賴
在app-mole中添加RecycleView和SmartRefreshLayout的依賴
//recyclerview implementation 'com.android.support:recyclerview-v7:26.1.0' implementation 'com.android.support:design:26.1.0' //SmartRefreshLayout implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.4-7' implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.4-7'
二.在mainActivity中添加xml布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.freshdemo.MainActivity"android:orientation="vertical"><com.scwang.smartrefresh.layout.SmartRefreshLayoutandroid:id="@+id/refreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"app:srlAccentColor="#00000000"app:srlPrimaryColor="#00000000"app:srlEnablePreviewInEditMode="true"><android.support.v7.widget.RecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="match_parent"/></com.scwang.smartrefresh.layout.SmartRefreshLayout></LinearLayout>
這是SmartRefreshLayout的基本布局,其中:
app:srlAccentColor="#00000000"//設置Header主題顏色 app:srlPrimaryColor="#00000000"//設置Footer主題顏色 app:srlEnablePreviewInEditMode="true"//開啟和關閉預覽功能
三.MainActivity中初始化和刷新載入事件
private RecyclerView mRecyclerView; private RefreshLayout mRefreshLayout; //初始化 mRecyclerView=findViewById(R.id.rv); mRefreshLayout = findViewById(R.id.refreshLayout); //刷新 mRefreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { mData.clear(); mNameAdapter.notifyDataSetChanged(); refreshlayout.finishRefresh(); } }); //載入更多 mRefreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(RefreshLayout refreshlayout) { for(int i=0;i<30;i++){ mData.add("小明"+i); } mNameAdapter.notifyDataSetChanged(); refreshlayout.finishLoadmore(); } });
四.運行效果
SmartRefreshLayout運行的默認效果如下
image.png
他們的包路徑是:
com.scwang.smartrefresh.header.BezierCircleHeadercom.scwang.smartrefresh.header.DeliveryHeader//以下類似,在此省略//......
六.自定義Header和Footer
當然SmartRefreshLayout還支持自定義Header和Footer
具體可以參考官網中的自定義Header
SmartRefreshLayout關於屬性這一塊也是有很多可以設置的,大家依然可以去SmartRefreshLayout官網查看更多使用細則,這里就不展開講解了
今天就講到這里了,謝謝大家。
2. android 怎樣在fragment中給listview添加下拉刷新上拉載入
注意事項:
1、XListView因為添加了Header,會導致存儲的數據+1,所以賦值時需要position-1。補充:當去掉HeaderView時,position不用-1。
2、提個建議:上拉載入更多,最好在onCreate()中就執行setAdapter,然後不論是空數據、還是有數據,只用更新適配器就行了。
一、XListView
1、下載
gitHub的地址。或者從這兒下。
2、用法
導入圖中的me.maxwin.view包
提供了兩個介面:
IXListViewListener:觸發下拉刷新,上拉載入更多。實現此介面時,onLoadMore()用來上拉載入更多,onRefresh()用來下拉刷新。
3. Android下拉刷新,上拉載入,有沒有比較好的第三方庫
目前我使用的有兩個:SwipeRefreshLayout和PullToRefresh:下拉刷新控制項SwipeRefreshLayout,但是這個控制項僅僅支持下拉刷新,用起來還算可以。然而在我們實際開發應用中,很多地方都不止有下拉刷新,而且還有上拉載入的功能。當然,你完全可以自己寫layout通過add的方式實現,但是既然有開源的力量讓我們有幸能用到PullToRefresh這個資源
4. android下拉刷新上拉載入第三方的哪個最好
只需要在ListView中注冊一個onTouch事件,並在onTouch只增加一行代碼即可解決:
getParent().(true);
意思就是告訴父控制項,不要處理這個touch事件,這樣就不會有沖突了。
5. android recyclerview 怎麼實現上拉載入下拉刷新
代碼如下:
引入
compile 'me.leefeng:lfrecyclerview:1.0.1'
/*找到控制項*/
recycleview = (LFRecyclerView) findViewById(R.id.recycleview);
/*設置屬性*/
recycleview.setLoadMore(true);//設置為可上拉載入,默認 false
recycleview.setRefresh(true);// 設置為可下拉刷新,默認 true
recycleview.setAutoLoadMore(true);//設置滑動到底部自動載入,默認 false
recycleview.setOnItemClickListener(this);// 條目點擊,點擊和長按監聽
recycleview.setLFRecyclerViewListener(this);//下拉刷新上拉載入監聽
recycleview.setScrollChangeListener(this);//滑動監聽
recycleview.hideTimeView();//隱藏時間,默認顯示時間
recycleview.setHeaderView(tv);//設置一個頭部,只有一個大概滿足了多數的要求
recycleview.setNoDateShow();//沒有數據時,底部顯示"沒有數據"字樣,默認不顯示
/*添加適配器*/
adapter=new MainAdapter(list);
recycleview.setAdapter(adapter);
6. 怎麼實現下拉刷新,上拉載入 原理
uexWindow.setBounce("1");
uexWindow.notifyBounceEvent("1", "1");
uexWindow.notifyBounceEvent("0", "1");
var s =
'{"imagePath":"","textColor":"#aaa","levelText":"","pullToReloadText":"上
拉載入更多內容...","releaseToReloadText":"釋放載入更多內容...","loadingText":"載入中,請稍
等"}';
uexWindow.setBounceParams("1", s);
uexWindow.showBounceView("1", '#EAEAEA', '1');
var b =
'{"imagePath":"","textColor":"#aaa","levelText":"","pullToReloadText":"下
拉刷新更多內容...","releaseToReloadText":"釋放載入更多內容...","loadingText":"刷新中,請稍
等"}';
uexWindow.setBounceParams("0", b);
uexWindow.showBounceView("0", '#EAEAEA', '1');
7. android studio 怎麼下拉刷新上啦載入
在實際開發中,為了節省開發周期,下拉刷新上拉載入通常都會採取使用一些第三方庫,典型的就是用PullToRefresh,XListView等等,還有就是谷歌推薦的SwipeRefreshLayout,可惜沒有上拉載入功能,需要自己去實現一個上拉載入的腳View,再加上現在代替ListView的RecyclerView+CardView使用的頻率也是也來也高,不得不說,CardView效果確實很好看,一個一個的小卡片,用戶體驗好,I like it!!!廢話不說了,奔主題!今天也玩了一下SwipeRefreshLayout+RecyclerView實現下拉刷新上拉自動載入。
我最初的想法就是:先利用RecyclerView添加不同的item布局,上面是一個輪播的ViewPager,下面是一個一個的列表數據,當滑到到底部的時候,可以自動載入更多,當然要在底部添加一個個性化的視圖顯示正在載入,即腳View。
先看一下RecyclerView如何載入不同的item的,通過getItemViewType實現,注意:繼承的是RecyclerView.Adapter。
1.設置3個常量,分別是ViewPager部分,中間的列表數據部分,和底部的正在載入腳部分:
8. 安卓怎麼刷實現listview 上拉載入下拉刷新
這是兩個分開的部分。如果你是新手,先一個一個來。
我只能跟你說一下思路,具體的東西你在網上查查,不行再問我,新手的話慢慢來。
下拉刷新,獲取listview的下拉時間顯示header,然後調用更新數據的介面就可以了。
上啦載入,是分頁獲取數據,獲取listview的是否拉到最底,如果拉倒最底,獲取數據,讓後list的數據添加獲取的數據,更新adapter就可以了。
9. android pulltorefresh scrollview下拉刷新上拉載入怎麼區分
listView.setMode(PullToRefreshBase.Mode.BOTH);
listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
page = 1;
loadData();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page++;
loadData();
}
});
首先要上下拉刷新功能先要設置刷新模式 為BOTH,
然後在設置監聽事件,裡面有重寫的兩個方法,一個是下拉的 一個是上啦的,
可以在裡面寫對應的 事件,比如 你上啦要幹些啥,就在onPullUpToRefresh中寫即可
手動打字比較類 ,湊合著看吧
10. 下拉刷新,上拉載入的功能如何實現
拉刷新和下拉刷新的兩種方法(包括使用第三方庫MJRefresh) 一、使用蘋果原生的方法 1、下拉刷新 2、上拉刷新 (1 首先要新建一個footer得XIB文件,當然同時包括對應的控制器文件,例如在XIB文件中可以如下拖拉對應的控制項