【发布时间】:2023-01-19 03:17:13
【问题描述】:
我有一个将 LinearLayoutManager 设置为水平的 RecyclerView。正如您在下面的代码中看到的,我正在尝试使用 ValueAnimator 从列表的第一项到列表的最后一项进行动画处理。在我的使用中,我不需要使用 scrollBy 或 scrollToPosition 方法。我需要使用 scrollTo 方法,但它没有效果。为什么会这样?
ValueAnimator valueAnimator = ValueAnimator.ofInt(0,activityMainBinding.rv.computeHorizontalScrollOffset());
valueAnimator.setDuration((100000)); valueAnimator.setStartDelay(1500);
valueAnimator.setInterpolator(new LinearInterpolator());
valueAnimator.addUpdateListener(valueAnimator1 -> {
activityMainBinding.rv.scrollTo((int) valueAnimator1.getAnimatedValue(), 0); });
valueAnimator.start();
【问题讨论】:
-
您能否提供该错误的最小工作示例?您是否尝试过使用 print 语句来确定是否有任何值返回意外输出?删除代码行后问题是否仍然存在?当有太多事情在起作用时,很难确定是什么导致了这个问题,比如 .getAnimatedValue 函数、.setDuration 位、.setStartDelay 位等。
-
@gabetucker22 我建立了一个新项目来用简单的 recyclerview 测试这个方法,但结果相同,方法没有滚动。
标签: android android-recyclerview