RecyclerView增刪item
這是第一篇在慕課首發的文章, 為了發這篇, 搬運了好幾篇有關聯的文章來. 容我吐槽一下, 慕課的md很奇怪, 用著不太舒服. 你可以到或者來看看我, 至少目前我在那裡的文章更多更全.
目錄
- 前言
- 增刪item
- 自定義增刪動畫
- 最後
前言
之前寫過一篇的, 那這次就對比下RecyclerView的增刪item, 說句實話, 程式碼動態增刪佈局基本可以退群了.
增刪item
當然首先你可以按照第一篇-建立基礎的RecyclerView. 這次的關鍵是在介面卡程式碼中加入增刪item的操作. 要注意一點, 重新整理和原來在ListView的操作是不一樣的. 你可以直接看, 大致有這幾個:
- notifyItemInserted()
- notifyItemRemoved()
- notifyItemMoved()
- notifyItemChanged()
在介面卡中加入如下程式碼:
public void addData(int position) {
mData.add(position, "hello python");
notifyItemInserted(position);
}
public void removeData(int position) {
mData.remove(position);
notifyItemRemoved(position);
}
然後我們在toolbar中加上add和del按鈕, 對應這兩個方法.
並且設定長按為刪除操作, 點選是增加操作. 好了, 上效果圖:
不單單是我演示的這種佈局, 還有線型的, 橫向的, 瀑布流都可以有這種類似效果. 可參考.
那既然有預設動畫, 肯定就能自定義動畫了. 在這之前, 先說說幾個方法. 用來設定動畫的具體狀態的持續時間.
rvTest.getItemAnimator().setAddDuration(400);
rvTest.getItemAnimator().setRemoveDuration(400);
rvTest.getItemAnimator().setMoveDuration(400);
rvTest.getItemAnimator().setChangeDuration(400);
自定義增刪動畫
這裡藉助. 因為這個專案真的足夠棒.
自帶動畫個數都已經足夠用了, 見下. 你還可以繼續在這基礎上自定義. 是不是感覺三生萬物了.
Animators
分類 | 動畫類名 |
---|---|
Cool | LandingAnimator |
Scale | ScaleInAnimator, ScaleInTopAnimator, ScaleInBottomAnimator, ScaleInLeftAnimator, ScaleInRightAnimator |
Fade | FadeInAnimator, FadeInDownAnimator, FadeInUpAnimator, FadeInLeftAnimator, FadeInRightAnimator |
Flip | FlipInTopXAnimator, FlipInBottomXAnimator, FlipInLeftYAnimator, FlipInRightYAnimator |
Slide | SlideInLeftAnimator, SlideInRightAnimator, OvershootInLeftAnimator, OvershootInRightAnimator, SlideInUpAnimator, SlideInDownAnimator |
而且非常難得的是使用方法還很簡單, 需要幾個步驟
- 在Module的build.gradle中寫入
dependencies {
implementation 'jp.wasabeef:recyclerview-animators:2.3.0'
}
- 在Project的build.gradle中寫入
repositories {
google()
jcenter()
}
具體使用部分只要用動畫類名替換之前預設的動畫類名即可. 例如:
rvTest.setAdapter(mAdapter);
rvTest.setItemAnimator(new SlideInLeftAnimator());
好了, 接下來看幾個效果圖吧:
最後
喜歡記得點贊哦, 有意見或者建議評論區見, 暗中關注我也是可以的.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4328/viewspace-2806925/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android recyclerview刪除item重新整理列表AndroidView
- 對RecyclerView Item做動畫View動畫
- 使用RecyclerView動態改變item時遇到的坑View
- 使用介面實現RecyclerView中的item點選事件View事件
- PyQt5刪除QListWidget中的itemQT
- 用RecyclerView實現類似支付寶應用圖示拖拽排序以及增刪管理的功能View排序
- OpenCL 增強單work-item kernel效能策略
- 增刪改查
- 原生js實現一個側滑刪除取消元件(item slide)JS元件IDE
- 文件的增刪改
- SQL增刪改查SQL
- Mongoose查增改刪Go
- indexedDB 增刪改查Index
- mysql增刪改查MySql
- JavaScript item()JavaScript
- FileList item()
- MultiItem擴充套件 仿任務皮膚 跨多個RecyclerView的Item拖動 支援縮小後拖動套件View
- 資料的增刪改
- 列表的增刪改查
- 字典的增刪改查
- mongodb 基本增刪改查MongoDB
- MongoDB增刪改查操作MongoDB
- layui的增刪改查UI
- 單表增刪改查
- mybatis的增刪改查MyBatis
- EFCore之增刪改查
- redist的增刪改查Redis
- sql指令,增,刪,查,改SQL
- QQ增刪功能實現
- mysql基本增刪改查MySql
- sticky list item
- item_get
- RecyclerView 梳理:點選&長按事件、分割線、拖曳排序、滑動刪除View事件排序
- RecyclerView學習筆記整理(3)解決item中關於跳轉到另一個Activity的問題和判斷多個item進行跳轉到另一個ActivityView筆記
- RecyclerView使用View
- iOS CoreData (一) 增刪改查iOS
- Jfinal+layui增刪改查UI
- SQL 基礎增、刪、改、查SQL