1. 程式人生 > >Android各種View的下拉重新整理與載入更多

Android各種View的下拉重新整理與載入更多

1.基本介紹

2.效果圖

pulltorefresh

3.使用示例程式碼

  • 佈局檔案
<com.jingchen.pulltorefresh.PullToRefreshLayout          xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/refresh_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFF"
> <com.jingchen.pulltorefresh.PullableListView android:layout_width="match_parent" android:layout_height="match_parent" android:divider="#AAA" android:dividerHeight="5dp" /> </com.jingchen.pulltorefresh.PullToRefreshLayout>
  • 使用程式碼
package com.jingchen.pulltorefresh.activity;

import
java.io.IOException; import java.util.ArrayList; import java.util.List; import pl.droidsonroids.gif.GifDrawable; import com.jingchen.pulltorefresh.MyAdapter; import com.jingchen.pulltorefresh.MyPullListener; import com.jingchen.pulltorefresh.PullToRefreshLayout; import com.jingchen.pulltorefresh.R; import
android.app.Activity; import android.content.res.Resources.NotFoundException; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; public class PullableGifActivity extends Activity { private ListView listView; private PullToRefreshLayout ptrl; private boolean isFirstIn=true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listview); ptrl = ((PullToRefreshLayout) findViewById(R.id.refresh_view)); // 此處設定下拉重新整理或上拉載入更多監聽器 ptrl.setOnPullListener(new MyPullListener()); // 設定帶gif動畫的上拉頭與下拉頭 try { ptrl.setGifRefreshView(new GifDrawable(getResources(), R.drawable.anim)); ptrl.setGifLoadmoreView(new GifDrawable(getResources(), R.drawable.anim)); } catch (NotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } listView = (ListView) ptrl.getPullableView(); initListView(); } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); // 第一次進入自動重新整理 if (isFirstIn) { ptrl.autoRefresh(); isFirstIn = false; } } /** * ListView初始化方法 */ private void initListView() { List<String> items = new ArrayList<String>(); for (int i = 0; i < 30; i++) { items.add("這裡是item " + i); } MyAdapter adapter = new MyAdapter(this, items); listView.setAdapter(adapter); listView.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText( PullableGifActivity.this, "LongClick on " + parent.getAdapter().getItemId(position), Toast.LENGTH_SHORT).show(); return true; } }); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(PullableGifActivity.this, " Click on " + parent.getAdapter().getItemId(position), Toast.LENGTH_SHORT).show(); } }); } /** * 下拉重新整理與上拉載入更多監聽器 */ public class MyPullListener implements OnPullListener { @Override public void onRefresh(final PullToRefreshLayout pullToRefreshLayout) { // 下拉重新整理操作 new Handler() { @Override public void handleMessage(Message msg) { // 千萬別忘了告訴控制元件重新整理完畢了哦! pullToRefreshLayout.refreshFinish(PullToRefreshLayout.SUCCEED); } }.sendEmptyMessageDelayed(0, 5000); } @Override public void onLoadMore(final PullToRefreshLayout pullToRefreshLayout) { // 載入更多操作 new Handler() { @Override public void handleMessage(Message msg) { // 千萬別忘了告訴控制元件載入完畢了哦! pullToRefreshLayout.loadmoreFinish(PullToRefreshLayout.SUCCEED); } }.sendEmptyMessageDelayed(0, 5000); } } }

相關推薦

Android各種View重新整理載入

1.基本介紹 2.效果圖 3.使用示例程式碼 佈局檔案 <com.jingchen.pulltorefresh.PullToRefreshLayout xmlns:android="http://schem

微信小程式實戰篇-重新整理載入

下拉重新整理 實現下拉重新整理目前能想到的有兩種方式 呼叫系統的API,系統有提供下拉重新整理的API介面   下拉重新整理API.png 監聽scroll-view,自定義下拉重新整理,還記得scroll-view裡面有一個bindscrollto

android 重新整理+底部載入 QJPageReloadView使用

前:本文為QiaoJim原創,轉載請附原文連結,謝謝合作! ----------------------------------------------------------------------------------------------- 本篇主要簡單介紹QJ

Android studio 重新整理載入使用LoadingViewFinal

Android studio已經普遍了,開發過程中會使用到下拉重新整理和載入更多,類似PULL-to-Refresh,xrecyclerview,SwipeRefreshLayoutd 等等。 現在

PullToRefreshView重新整理上來載入,支援任何子view

最新自己寫了一個PullToRefreshView,這是一個自定義view,繼承於LinearLayout,子控制元件可以是任意控制元件!先上一張福利圖: 由於PullToRefreshView繼承於LinearLayout,它有著ViewGroup的特性,子控制元件可以

高效能的給RecyclerView新增重新整理載入動畫,基於ItemDecoration(一)

專案已經上傳Github,點選這裡檢視,裡面有整個專案的效果。 先說說我為什麼要做這個。github上有一個比較火的開源專案,PullToRefreshView,估計不少人都看過,這個專案實現的動畫很漂亮,但是它有一個我無法忍受的缺點,就是當列表可以向下滾動的

retrofit+rxjava+recyclerview+重新整理+自動載入

安卓開發過程中,網路請求與下拉重新整理分頁列表的控制元件幾乎可以說是必不可少的,但是每次開發一款產品都要重新開發,肯定是不可取的,那麼最好是可以自己整理一個開發框架,那麼以後開發,直接引入專案即可 網路框架的封裝,從httpclient,到xutils,再到volley

微信小程式重新整理載入

呼叫系統的API,系統有提供下拉重新整理的API介面 *.js裡面://獲取應用例項 const app = getApp() var page = 1; var isfinish = false; //載入完畢 function loadmore(that) { if

自己封裝的工具類,使用原生SwipeRefreshLayout+RecycleView實現重新整理載入

實現SwipeRefreshLayout+RecycleView實現重新整理 在你的xml檔案裡寫上如下程式碼: <android.support.v4.widget.SwipeRefreshLayout

輕鬆實現RecycleView的重新整理載入

那如同這個題目,這裡面涉及的東西其實還是比較多的,RecycleView SwipeRefreshLayout,下拉重新整理(這個就是SwipeRefreshLayout的),載入更多。 SwipeRefreshLayout 這個是Google自己封

PullRefresh(自定義控制元件,ListView,重新整理載入)

PullRefresh 效果展示 Usage 一.layout <!--直接在佈局中申明控制元件--> <RelativeLayout xmlns:andr

recyclerview重新整理載入

SwipeRefreshLayout是google推薦的支援下拉重新整理的佈局控制元件,但是隻支援下拉重新整理不能上劃載入更多。我觀察知乎的重新整理和載入更多操作,發現他的載入更多是不需要上拉手勢的,當recyclerview滑到最後一個item時自動載入更多資

Android中用SmartRefreshLayout實現ListView列表的資料重新整理載入(總結)

這裡用到的是第三方外掛:SmartRefreshLayout 效果圖如下: 使用步驟如下: 1、新增遠端依賴 /*重新整理和載入*/ implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-

第一次嘗試用BaseRecyclerViewAdapterHelper實現上重新整理載入、新增頭佈局、尾佈局等等功能

BaseRecyclerViewAdapterHelper 簡介: 減少重複 Adapter 程式碼 新增 Item 的點選事件,長按事件以及子控制元件的點選事件 新增頭部、尾部,下拉重新整理、上拉載入(上拉載入的5種載入更多動畫任你選擇,後期會新增更多的載入動畫)、沒有更多

react-native FlatList 上重新整理 下載載入

import React,{Component} from 'react'; import {View,Text, Image, FlatList,RefreshControl} from 'react-native'; export default class HomeScreen extends Comp

RecyclerView重新整理載入

   序言:上一篇述說了android架構層,本篇主要學習RecyclerView重新整理與載入,原理就是重新整理使用的是SwipeRefireshLayout,而載入更多是採用RecyclerVie

Android自定義控制元件——ListView的重新整理載入

1.簡介        無疑,在Android開發中,ListView是使用非常頻繁的控制元件之一,ListView提供一個列表的容易,允許我們以列表的形式將資料展示到介面上,但是Google給我們提供的原生ListView的控制元件,雖然在功能上很強大,但是在使用者體

Android中ListView重新整理載入效果實現

  在Android開發中,下拉重新整理和上拉載入更多在很多app中都會有用到,下面就是具體的實現的方法。 首先,我們自定義一個RefreshListView來繼承與ListView,下面是程式碼: package com.example.downrefresh; import

小程式筆記 -- 重新整理觸底載入一頁

下拉與觸底函式是每一個頁面都有事件函式, 同頁面生命週期函式類似 : 監聽並執行 onPullDownRefresh 判斷使用者在最頂部下拉時觸發 如果下拉後再拉回去, 不觸發  onReachBottom 判斷使用者到達最底部時觸發 如果當面頁面的內容, 不夠多時,

Android簡單的重新整理,上載入

先匯入第三方的東西 下載地址 匯入後,就和你的專案聯絡起來 佈局程式碼(activity_pull_to_refresh_action.xml) <?xml version="1.0" encoding="utf-8"?> <Lin