Android 滚动时设置recyclerview动画
我通过Slidenerd观看了这段youtube视频: 他建议,如果要在recyclerview中使用动画,请在recyclerview的onBindViewHolder代码中使用以下代码:Android 滚动时设置recyclerview动画,android,animation,android-recyclerview,objectanimator,Android,Animation,Android Recyclerview,Objectanimator,我通过Slidenerd观看了这段youtube视频: 他建议,如果要在recyclerview中使用动画,请在recyclerview的onBindViewHolder代码中使用以下代码: ObjectAnimator objectAnimatorTranslateY; if (position > previousPosition) { //this should only activate animation when scrolling up objectAnimator
ObjectAnimator objectAnimatorTranslateY;
if (position > previousPosition) { //this should only activate animation when scrolling up
objectAnimatorTranslateY = ObjectAnimator.ofFloat(holder.itemView, "translationY", 200, 0 );
objectAnimatorTranslateY.setDuration(300);
objectAnimatorTranslateY.start();
}
previousPosition = position;
我已将previousPosition实例化为0的成员变量
该代码为recyclerview中的项目设置动画,以便在滚动时显示为从屏幕底部飞入
代码正在运行,但我未能实现的是如何在列表首次出现在屏幕上时阻止代码运行
我不希望列表项在你第一次打开应用程序时被设置动画,而只是在它向上滚动时。当recyclerview第一次出现在屏幕上时,如何阻止动画师启动?这似乎是一个错误,但我认为您可以检查项目的Y-位置,并将其与屏幕高度进行比较。如果
view.getX()>getScreenHeight
,则运行显示动画。这似乎是一个错误,但我认为您可以检查项目的Y-位置,并将其与屏幕高度进行比较。如果view.getX()>getScreenHeight
,则运行动画