我在某些应用程序中看到了一个常见的recyclerview动画。当recyclerview首次填充时,其项目从底部滑入,同时也渐渐消失。如何实现这一目标?Recyclerview初始动画
0
A
回答
1
setItemAnimator()
用于项的更改的/新的插入/缺失。如果您在物品上使用setAdapter()
,它将不会在第一时间起作用。
试试这个回收站视图转接器内:
int lastPosition = -1;
@Override
public void onViewAttachedToWindow(final ViewHolder holder) {
super.onViewAttachedToWindow(holder);
final long delayTime = 200;
holder.card.setVisibility(View.INVISIBLE);
if (holder.getPosition() > lastPosition) {
holder.card.getHandler().postDelayed(new Runnable() {
@Override
public void run() {
holder.card.setVisibility(View.VISIBLE);
ObjectAnimator alpha = ObjectAnimator.ofFloat(holder.card, "alpha", 0f, 1f);
ObjectAnimator scaleY = ObjectAnimator.ofFloat(holder.card, "scaleY", 0f, 1f);
ObjectAnimator scaleX = ObjectAnimator.ofFloat(holder.card, "scaleX", 0f, 1f);
AnimatorSet animSet = new AnimatorSet();
animSet.play(alpha).with(scaleY).with(scaleX);
animSet.setInterpolator(new OvershootInterpolator());
animSet.setDuration(400);
animSet.start();
}
}, delayTime);
lastPosition = holder.getPosition();
} else {
holder.card.setVisibility(View.VISIBLE);
}
}
可以更改AnimatorSet和插补器为您的需要。
像:
PropertyValuesHolder translateX = PropertyValuesHolder.ofFloat(View.TRANSLATION_X, 0, 0);
PropertyValuesHolder translateY = PropertyValuesHolder.ofFloat(View.TRANSLATION_Y, 100, 0);
ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, translateX, translateY);
AnimatorSet animSet = new AnimatorSet();
animSet.play(animator);
animSet.setInterpolator(new AccelerateDecelerateInterpolator());
animSet.setDuration(400);
animSet.start();
0
0
试试这个方法来制作动画recycerview
RecyclerView.ItemAnimator itemAnimator = new DefaultItemAnimator();
itemAnimator.setAddDuration(1000);
itemAnimator.setRemoveDuration(1000);
recyclerView.setItemAnimator(itemAnimator);
https://www.sitepoint.com/mastering-complex-lists-with-the-android-recyclerview/
http://www.birbit.com/recyclerview-animations-part-1-how-animations-work/
https://www.studytutorial.in/android-recyclerview-with-animation-tutorial
https://github.com/gabrielemariotti/RecyclerViewItemAnimators
https://github.com/couchbaselabs/mini-hacks/tree/master/android-recycler-view-animations
相关问题
- 1. RecyclerView项目动画:只动画最初可见的项目
- 2. Android初始化动画
- 3. iOS初始屏幕动画
- 4. 初始延迟的Javascript画布动画
- 5. 动画效果recyclerview滚动
- 6. 平滑滚动不适用于Android的初始滚动RecyclerView
- 7. 省略初始过渡/动画
- 8. 如何添加动画初始屏幕?
- 9. 仅在初始页面加载动画
- 10. 动画中的初始滞后
- 11. Android中的初始屏幕Alpha动画
- 12. 动画结束进入初始值
- 13. R Plotly动画 - 初始框架
- 14. 角2动画第一初始化
- 15. 初始化霓虹灯动画页
- 16. 以角度初始化WOW动画2
- 17. css关键帧动画未初始化
- 18. 带有Phonegap的动画初始屏幕
- 19. 无法初始化的Android RecyclerView
- 20. Android RecyclerView适配器未初始化
- 21. 动画RecyclerView不工作
- 22. 禁用点击动画recyclerView
- 23. 动画缩放项RecyclerView
- 24. Recyclerview onclick viewholder not triggering动画
- 25. 卧式使用动画RecyclerView
- 26. RecyclerView删除动画错误
- 27. RecyclerView添加项目动画
- 28. notifyItemInserted()在RecyclerView和动画
- 29. RecyclerView项目动画问题
- 30. Android Realm RecyclerView动画无效?
试试这个:https://github.com/wasabeef/recyclerview-animators –
检查:https://antonioleiva.com/layout-animations-on-recyclerview/ – cuoka