【问题标题】:Fix the position of a View that is in the list while scrolling the same list, programmatically以编程方式在滚动同一列表时修复列表中视图的位置
【发布时间】:2015-03-12 04:38:16
【问题描述】:

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

ImageView(RecyclerView的元素0)

TextView(RecyclerView的元素1)

元素2

元素3

...

所以,通常在这个场景中,如果您向下滚动,ImageViewTextView 将向上移动并在我继续滚动时从视线中消失。我想要的是,ImageView 向上离开屏幕消失,但TextView 留在屏幕顶部,即使我进一步滚动,RecyclerView 的其他元素也会向上和@987654330 @ 将停留在屏幕顶部的固定位置。

---文本视图(已修复)---

元素6

元素7

...(滚动)

我考虑过这一点,但找不到一个好的编程解决方案,但我意识到我可以通过一些作弊来做到这一点。

RecyclerView 将像我提到的场景一样工作。但是当TextView从顶部开始离开屏幕时,一个克隆TextView将可见并被带到RecyclerView前面,所以即使我真正的TextView从屏幕上消失,克隆TextView也会保持它的位置。

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

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

【问题讨论】:

    标签: android view scroll android-recyclerview


    【解决方案1】:

    您是否查看过像 this 这样的 Sticky List Header 库?我敢打赌,如果你深入研究他们的源代码,你会找到一些很好的灵感。

    【讨论】:

    • 谢谢,这似乎是我想要的:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 2020-10-29
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多