RecyclerView的上拉重新整理與下拉載入
1.佈局(用SwipeRefreshLayout實現下拉重新整理)
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipeRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.v4.widget.SwipeRefreshLayout>
2.RecyclerView的itemView佈局
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight ="10dp"
android:layout_marginTop="10dp">
<ImageView
android:id="@+id/item_img"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@mipmap/panda" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/item_img"
android:layout_margin="1dp"
android:background="#8c282828"
android:orientation="horizontal">
<TextView
android:id="@+id/item_tv"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:text="大熊貓"
android:textColor="#ffffff"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="國寶"
android:textColor="#de3636"
android:textSize="15sp" />
</LinearLayout>
</RelativeLayout>
4.下拉重新整理要藉助SwipeRefreshLayout
// 下拉重新整理(SwipeRefreshLayou設定重新整理的監聽)
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
// 下拉重新整理,清空資料來源,重新獲取最新資料
}
});
注意:重新整理完畢要關閉重新整理動畫
// 資料已經更新,關閉重新整理動畫
// 如果不關閉會一直轉圈
if (refreshLayout.isRefreshing()) {
refreshLayout.setRefreshing(false);
}
5.上拉載入需要新增OnScrollListener監聽事件
// 上拉載入需要新增滾動監聽事件
// 這裡實現LinearLayoutManager並且是VERTAL方向的監聽
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
// 滿足條件 執行上拉載入資料
if (newState == RecyclerView.SCROLL_STATE_IDLE && isBottom) {
// 填充下一頁資料...
// 注意:載入完 要置為false
isBottom = false;
}
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
// dy>0 代表向下滾動
super.onScrolled(recyclerView, dx, dy);
int lastVisibleItemPosition = manager.findLastVisibleItemPosition();
int itemCount = manager.getItemCount();
// 如果最後一個可見的View的position 等於 itemCount-1 代表滾動到底部
isBottom = itemCount-1 == lastVisibleItemPosition && itemCount>0;
}
});
相關推薦
RecyclerView的上拉重新整理與下拉載入
1.佈局(用SwipeRefreshLayout實現下拉重新整理) <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipeRefreshLayout"
RecyclerView上拉重新整理,下拉載入
Activity介面方法 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mai
Android中recyclerview+pullToRefresh實現上拉重新整理和下拉載入
一. 依賴 implementation 'com.jwenfeng.pulltorefresh:library:1.0.3' 要把minSdkVersion 改為16以上 二.佈局 <LinearLayout xmlns:android="http:/
(再次更新)打造RecyclerView萬能介面卡,上拉重新整理,下拉載入
入行幾個月了,一直想自己封裝一些類,剛好遇到了這個問題,現在跟大家分享。 注意點 1 泛型擦除 2 需要防止型別轉換異常 github地址:https://github.com/zw21544182/MyBaseDemo (裡面還有部分FileUtil
用vue-scroller做上拉重新整理,下拉載入的模板(簡單明瞭,通用)
1.首先下外掛,並在你的vue專案中引人 npm i vue-scroller -D import VueScroller from 'vue-scroller 2.Vue.use(VueScroller )(這一步別忘啦) 3.在你需要做上拉重新整理,下拉載入的地方加上<scroll
OC 建立TableView基類並結合MJRefresh實現上拉重新整理,下拉載入
1.建立繼承自UITableView的基類BaseTableView: #import <UIKit/UIKit.h> @class BaseTableView; @protocol BaseTableViewDelegate <NSObject> @option
微信小程式上拉重新整理和下拉載入2種方法實現
微信小程式上拉重新整理和下拉載入2種方法實現,onPullDownRefresh,scroll-view使用 一、XXX.json開啟下拉重新整理 { "enablePullDownRefresh": true } 二、XXX.js onP
輪播圖、pulltofresh上拉重新整理,下拉載入
@輪播圖、pulltofresh上拉重新整理,下拉載入TOC import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.view.Vi
分頁, 上拉重新整理、下拉載入。
一、自定義listview package com.fragment.home; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; impor
mint-ui 上拉重新整理,下拉載入
export default { data() { return { list: [], allLoaded: true, bottomStatus: "", wrapperHeight: 0, topStatus: "",
小程式筆記 -- 下拉重新整理與觸底載入下一頁
下拉與觸底函式是每一個頁面都有事件函式, 同頁面生命週期函式類似 : 監聽並執行 onPullDownRefresh 判斷使用者在最頂部下拉時觸發 如果下拉後再拉回去, 不觸發 onReachBottom 判斷使用者到達最底部時觸發 如果當面頁面的內容, 不夠多時,
React Native 一個小專案其中一些主要功能實現 (頂部導航欄(可滑動),網路解析,上拉重新整理,下拉載入)
//網路解析 import React, { Component } from "react"; import { View, Text, TouchableOpacity } from "react-native"; import RefreshListView, { Re
prlibrary上拉重新整理、下拉載入
import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListVi
【微信小程式】上拉重新整理和下拉載入
上拉重新整理和下拉載入有兩種方式可以實現: 1.使用scroll-view元件進行操作,使用自帶的scrolltoupper和scrolltolower事件可以實現。適合頁面區域性的上拉下拉。 附上
React-native 三方框架實現上拉重新整理、下拉載入網路請求以及跳轉先詳情頁面
首先 第一步 需要匯入三方的類庫 和跳轉詳情頁面 yarn add react-native-refresh-list-view //導包 import RefreshListView, { RefreshState } from “react-nati
多條目載入 +上拉重新整理,下拉載入
//*Afragment->XListView 重新整理 載入 public class AFragment extends Fragment implements XListView.IXListViewListener { private String
Xrecycleview上拉重新整理,下拉載入
implementation 'com.jcodecraeer:xrecyclerview:1.3.2' Android studio3.0之後需要結局版本衝突 configurations.all { resolutionStrategy.eachDependency
mui做的上拉重新整理和下拉載入和日期選擇器
var pageCount = 1;//頁碼 var date_inputs = document.getElementsByClassName('select_date'); var today = new Date(); var thisyear = today.getF
Swiper實現上拉重新整理和下拉載入更多(學習筆記④)
簡單粗暴的放碼 一個簡單的效果 分頁器效果中加下拉重新整理和上拉載入功能 HTML結構: <div class="a">標題</div> <div class="tab"> <a class="active" href="j
mint ui 上拉重新整理,下拉載入問題
1.最外層包一層div,一定要有高度。2.mt-loadmore ,該外掛會預設自動載入一次,在頁面首次載入的時候。3.在載入成功後,並且是最後一頁時,要把allLoaded 設定為false;如果不是最後一頁,要設為true。大致程式碼如下:<div class="m