【问题标题】:Disable scroll animation in RecyclerView在 RecyclerView 中禁用滚动动画
【发布时间】:2017-08-15 05:23:55
【问题描述】:

我有一个RecyclerView,除了以编程方式滚动之外,它基本上什么都不做。问题是我需要这个RecyclerView 滚动到没有动画的位置。这是我正在使用的代码。

((LinearLayoutManager)recyclerView.getLayoutManager()).scrollToPositionWithOffset(position, offset);

提前致谢。

【问题讨论】:

  • RecyclerView 看起来没有“可滚动”属性。此外,我实际上并不想停止滚动,只是想在调用 scrollTo 时禁用动画。
  • 检查这可能对你有帮助:stackoverflow.com/questions/29873859/…
  • 是的,我试过了。但没有运气。

标签: android scroll android-recyclerview


【解决方案1】:

您可以自己为 itemView 设置动画, 使用两个变量startPosition 和endPosition 作为起始位置和结束位置,animate(viewHolder, false) 是一个可以添加或删除动画的函数

public void onBindViewHolder(ViewHolder viewHolder, int position) {
        final DataModel dataModel = dataList.get(position);

        viewHolder.textTittle.setText(dataModel .getTitle());    

        if (startPosition <=position  && position<= endPosition) {
            animate(viewHolder, false);
        } else {
            animate(viewHolder, true);
        }    

    }

类似动画的函数

public void animate(RecyclerView.ViewHolder viewHolder) {
            final Animation animAnticipateOvershoot = AnimationUtils.loadAnimation(context,
                    R.anim.animator_for_bounce);
            viewHolder.itemView.setAnimation(animAnticipateOvershoot);
        }

【讨论】:

  • 我真的不想动画它,当我使用scrollToPosition()时滚动动画。
猜你喜欢
  • 2020-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-12
  • 2016-12-05
相关资源
最近更新 更多