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库?我打赌如果你深入研究他们的源代码,你会发现一些好的灵感.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...