帶頭尾和動畫的下拉重新整理RecyclerView

2022-08-02 09:48:19 字數 3066 閱讀 8480

感謝bingaicao1提供的幫助。

效果預覽,嗯…看起來有點卡。截圖軟體的問題:

上圖中演示了三種不同的布局和下拉效果,三種布局和三種下拉效果能夠通過header的設定隨意組合。

圖中普通列表是listview樣式,沒有設定header和footer,使用預設的下拉重新整理和上拉載入。

宮格列表使用的是自己定義header和footer的下拉重新整理和上拉上拉載入,並設定了下拉使放大的。

瀑布流列表使用的是自己定義header和footer的下拉重新整理和上拉上拉載入。沒有設定了下拉使放大的。使用預設的重新整理動畫。

gradle:

dependencies
**中的配置參考以下的使用方法**片段,除了recyclerview自帶的方法,其它方法都是可選的。

依據列表的不同效果選擇不同的布局管理器:

// 使用重寫後的線性布局管理器

mrecyclerview.setlayoutmanager(new animrflinearlayoutmanager(this));

// 使用重寫後的格仔布局管理器

mrecyclerview.setlayoutmanager(new animrfgridlayoutmanager(this, 2));

// 使用重寫後的瀑布流布局管理器

mrecyclerview.setlayoutmanager(new animrfstaggeredgridlayoutmanager(3, staggeredgridlayoutmanager.vertical));

依據不同的布局管理器設定切割線:
// 設定列表布局的切割線

mrecyclerview.additemdecoration(new divideritemdecoration(context,

manimrflinearlayoutmanager.getorientation(), true));

// 設定網格或者瀑布流布局的切割線

mrecyclerview.additemdecoration(new dividergriditemdecoration(context, true));

設定header和footer:
// 頭部

headerview = layoutinflater.from(this).inflate(r.layout.header_view, null);

// 腳部

footerview = layoutinflater.from(this).inflate(r.layout.footer_view, null);

// 加入頭部和腳部,假設不加入就使用預設的頭部和腳部(頭部能夠有多個)

mrecyclerview.addheaderview(headerview);

// 設定頭部的最大拉伸倍率,預設1.5f,必須寫在setheaderimage()之前

mrecyclerview.setscaleratio(2.0f);

// 設定下拉時拉伸的。不設定就使用預設的

mrecyclerview.setheaderimage((imageview) headerview.findviewbyid(r.id.iv_hander));

mrecyclerview.addfootview(footerview);

能夠通過addheaderview()setheaderimage()方法隨意組合下拉效果,能夠呼叫多次addheaderview()方法加入多個頭部,可是setheaderimage()方法最多被呼叫一次。

最多呼叫一次addfootview()方法,即最多設定乙個footerview。

其它設定:

// 設定重新整理動畫的顏色(可選)

mrecyclerview.setcolor(color.red, color.white);

// 設定頭部恢復動畫的執行時間。預設500毫秒(可選)

mrecyclerview.setheaderimagedurationmillis(1200);

// 設定拉伸到最高時頭部的透明度。預設0.5f(可選)

mrecyclerview.setheaderimageminalpha(0.6f);

// 設定介面卡

mrecyclerview.setadapter(new myadapter());

// 設定重新整理和載入很多其它資料的監聽,分別在onrefresh()和onloadmore()方法中執行重新整理和載入很多其它操作

mrecyclerview.setloaddatalistener(new animrfrecyclerview.loaddatalistener()

@override

public

void

onloadmore()

});

手動重新整理

假設想第一次進入介面時就顯示載入資料的動畫。須要使用手動重新整理的方法。

mrecyclerview.setrefresh(true);
在重新整理和載入過很多其它完畢之後呼叫**停止動畫:
// 重新整理完畢後呼叫,必須在ui執行緒中

mrecyclerview.refreshcomplate();

// 載入很多其它完畢後呼叫。必須在ui執行緒中

mrecyclerview.loadmorecomplate();

禁止重新整理

假設不想使用自帶的重新整理效果,而想要使用swiprefreshlayout做重新整理。可使用以下**禁止自帶的重新整理效果

mrecyclerview.setrefreshenable(false);
tips:edn

新增頭 尾和動畫的下拉重新整理RecyclerView

廢話,先看效果,嗯 看起來有點卡,截圖軟體的問題 上圖中演示了三種不同的布局和下拉效果,三種布局和三種下拉效果可以通過header的設定任意組合。圖中普通列表是listview樣式,沒有設定header和footer,使用預設的下拉重新整理和上拉載入。宮格列表使用的是自定義header和footer...

帶頭尾結點的單鏈表

帶頭尾結點的單鏈表 pragma once 帶頭尾結點的單鏈表 templateclass vlyflist templateclass node node t d next nullptr data d friend linklist templateclass linklist linklist...

如何實現系統自帶下拉刷動畫效果?

剛開始看確實感覺很不習慣,看久了,就覺得還不錯!所以就想引用到自己的專案中 接下來就找到原始碼看看他是如何運用的,首先找到swiperefreshlayout,因為這個類是android自帶的下拉重新整理實現類,相應的動畫也肯定在裡面有用到。可以找到裡面用到了兩個類materialprogressd...