gpt4 book ai didi

android - RecyclerView 在回收 View 时不尊重翻译

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:59 25 4
gpt4 key购买 nike

我现在正在玩 RecyclerView 并且偶然发现了以下问题。当 RecyclerView 的 LinearLayoutManager 决定 View 是否离开屏幕(因此它可以是回收器)时,它没有考虑 View 的 translationY

所以本质上,当我向上滚动并且我的 View 具有正 translationY 时,LinearLayoutManager 认为该 View 在屏幕外,但实际上它仍然可见(因为它被翻译下来)。

我注意到 LinearLayoutManager 做出这个决定的方式是通过查看 getDecoratedBottom(View),所以我尝试覆盖 getDecoratedBottom(View) 也包括翻译。不幸的是,它完全打乱了布局——当我们布局新项目时也会使用这种方法,所以新项目会得到额外的翻译(在现有项目之上)。

有没有一种简单的方法告诉 LinearLayoutManager 在决定回收 View 时查看 translation 属性而不重新实现 LayoutManager 从头开始​​?

最佳答案

可能对某些人有帮助,我找到了解决方案。

首先,我尝试使用翻译动画,但没有成功。但是,我刚刚创建了一个扩展 ItemDecoration 的新类。然后覆盖 getItemOffsets() 并在 Rect 上设置适当的偏移量。 LayoutManager 成功计算了这个偏移量。所取得的成果在所附的图片上。

关于android - RecyclerView 在回收 View 时不尊重翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30813906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com