我正在尝试找到一种解决方案,如何自定义RecyclerView
滚动总体上不同于大多数帖子的方法,例如使用自定义LinearSmoothScroller
并修改每像素的速度。
首先,我想使用我想要的任何Interpolator
。
其次,我希望持续时间是静态的,无论deltaY是40像素还是400万像素。
使用ScrollView
,ValueAnimator
使用自定义Interpolator
轻松生成所需行为,并在onAnimationUpdate
回调上设置滚动Y.我无法找到与RecyclerView
相同的解决方案。
ScrollView
ValueAnimator animator = ValueAnimator.ofInt(
mScrollView.getScrollY(), 0).setDuration(500);
animator.setInterpolator(new AccelerateDecelerateInterpolator());
animator.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
mScrollView.setScrollY((int) animation.getAnimatedValue());
}
});
animator.start();
感谢。