微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 以编程方式滚动相同列表时修复列表中View的位置

让我们假设我有一个 ImageView和一个TextView.这两个视图是我的RecyclerView的前两个元素. RecyclerView的其他元素属于同一类型.

ImageView(element 0 of RecyclerView)

TextView(element 1 of RecyclerView)

element2

element3

因此,通常在这种情况下,如果向下滚动,当我继续滚动时,ImageView和TextView将向上并从视线中消失.我想要的是,ImageView通过屏幕上方消失,但TextView保持在屏幕顶部,即使我进一步滚动,RecyclerView的其他元素将上升,TextView将保持在固定位置顶部的屏幕.

—TextView(FIXED)—

element6

element7

…(scrolling)

我想到了这个并且找不到一个好的程序化解决方案,但我意识到我可以做一点作弊.

RecyclerView将像我提到的场景一样工作.但是当TextView开始从顶部离开屏幕时,将看到一个克隆TextView并将其放在RecyclerView前面,所以即使我的真实TextView从屏幕上消失,克隆TextView也会保留其位置.

但是,这个解决方案并不能让我满意.此外,我没有尝试我的想法,也不知道它是否会完全奏效.我搜索一个很好的解决方案,但我找不到任何密切相关的问题.

我想知道是否有任何方法可以在不使用新视图等的情况下实现此行为.

解决方法

你有没有看过像 this这样的Sticky List Header库?我打赌如果你深入研究他们的源代码,你会发现一些好的灵感.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐