界面无小事(八):RecyclerView增删item

简介: 界面无小事(一):RecyclerView+CardView了解一下界面无小事(二):让RecyclerView展示更多不同视图界面无小事(三):用RecyclerView + Toolbar做个文件选择器界面无小事(四):来写个滚动选择器吧!界面无小...

界面无小事(一):RecyclerView+CardView了解一下
界面无小事(二):让RecyclerView展示更多不同视图
界面无小事(三):用RecyclerView + Toolbar做个文件选择器
界面无小事(四):来写个滚动选择器吧!
界面无小事(五):自定义TextView
界面无小事(六):来做个好看得侧拉菜单!
界面无小事(七):使用代码动态增删布局


目录

  • 前言
  • 增删item
  • 自定义增删动画
  • 最后

前言

之前写过一篇代码动态增删布局的, 对比下这次的RecyclerView增删item, 说句实话, 代码动态增删布局基本可以退群了.


增删item

当然首先你可以按照第一篇-界面无小事(一): RecyclerView+CardView了解一下建立基础的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按钮, 对应这两个方法.

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/add"
        android:icon="@mipmap/ic_launcher"
        android:title="@string/add"
        app:showAsAction="never" />

    <item
        android:id="@+id/del"
        android:icon="@mipmap/ic_launcher"
        android:title="@string/del"
        app:showAsAction="never" />
</menu>

并且设置长按为删除操作, 点击是增加操作. 好了, 上效果图:

效果图

不单单是我演示的这种布局, 还有线型的, 横向的, 瀑布流都可以有这种类似效果. 可参考界面无小事(二): 让RecyclerView展示更多不同视图.

那既然有默认动画, 肯定就能自定义动画了. 在这之前, 先说说几个方法. 用来设置动画的具体状态的持续时间.

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());

好了, 接下来看几个效果图吧:

SlideInLeftAnimator
ScaleInAnimator
LandingAnimator

最后

喜欢记得点赞哦, 有意见或者建议评论区见, 暗中关注我也是可以的.


目录
相关文章
|
8月前
|
XML Java Android开发
Android Studio App开发中改造已有的控件实战(包括自定义支付宝月份选择器、给翻页栏添加新属性、不滚动的列表视图 附源码)
Android Studio App开发中改造已有的控件实战(包括自定义支付宝月份选择器、给翻页栏添加新属性、不滚动的列表视图 附源码)
145 1
|
数据库
Layui入门&动态树&动态选项卡&用户增加&修改&删除&(一)
Layui入门&动态树&动态选项卡&用户增加&修改&删除&
104 0
不用涉及到各种冲突常规打造酷炫下拉视差效果SmartRefreshLayout+ViewPager+RecyclerView
不用涉及到各种冲突常规打造酷炫下拉视差效果SmartRefreshLayout+ViewPager+RecyclerView
277 0
|
8月前
|
存储 缓存 Android开发
构建高效的Android应用:采用RecyclerView优化列表显示
【4月更文挑战第2天】 在移动开发领域,列表显示是最常见的用户界面组件之一。对于Android平台而言,RecyclerView因其高效、灵活的特点而备受开发者青睐。本文将深入探讨如何利用RecyclerView在Android应用中实现流畅的列表滚动,以及通过各种优化策略来提升性能和用户体验。我们将从基本概念出发,逐步展开如何自定义适配器、视图持有者,以及利用布局管理器来实现复杂的列表布局。此外,还将讨论如何通过异步加载、缓存机制和动态数据更新来进一步优化性能。
113 1
|
存储 小程序 算法
【易售小程序项目】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】
【易售小程序项目】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】
114 0
Layui入门&动态树&动态选项卡&用户增加&修改&删除&(二)
Layui入门&动态树&动态选项卡&用户增加&修改&删除&
|
安全 Android开发
仿微信通讯录滑动定位ListView功能(二)
仿微信通讯录滑动定位ListView功能(二)
137 0
仿微信通讯录滑动定位ListView功能(二)
|
前端开发 Android开发
仿微信通讯录滑动定位ListView功能(一)
仿微信通讯录滑动定位ListView功能(一)
149 0
仿微信通讯录滑动定位ListView功能(一)
|
Android开发
Android开发 ListView(垂直滚动列表项视图)的简单使用
Android开发 ListView(垂直滚动列表项视图)的简单使用
364 0
Android开发 ListView(垂直滚动列表项视图)的简单使用
巧用生活号icon菜单和功能扩展区,更快传达你的服务!
01 你用icon菜单了吗?   还在使用单一的文字菜单? 想要表达内容太多,只能深深藏进二级菜单? 那么,建议你试试icon菜单。 简单直白,你所能提供的服务 一.目.了.然 | 杭州市民卡,利用icon菜单,所有服务一目了然,菜单点击数据直线上升;  02 功能扩展区启用了吗?   用图文推送来宣传活动?吸引点击? 可是,图文很快就会被覆盖。
488 12