写一份实现自定义RecyclerView的Item动画的代码
时间: 2024-01-02 21:43:56 浏览: 78
好的,以下是实现自定义RecyclerView的Item动画的代码:
首先,在RecyclerView的Adapter中添加如下代码:
```
private int lastPosition = -1;
public void setAnimation(View viewToAnimate, int position) {
if (position > lastPosition) {
Animation animation = AnimationUtils.loadAnimation(context, R.anim.item_anim);
viewToAnimate.startAnimation(animation);
lastPosition = position;
}
}
```
然后在item布局文件中添加android:animateLayoutChanges="true"属性以启用默认的Layout动画效果。如果需要自定义动画,则需要在res/anim文件夹下添加动画xml文件,例如item_anim.xml文件:
```
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="300" />
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300" />
</set>
```
最后在RecyclerView的onBindViewHolder方法中调用setAnimation方法:
```
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.bindData(data.get(position));
setAnimation(holder.itemView, position);
}
```
这样,RecyclerView的Item动画就实现了。
阅读全文