gpt4 book ai didi

android - RecyclerView 分离 View 仍然可见

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:09 24 4
gpt4 key购买 nike

当前场景

我正在使用这个库 https://github.com/kanytu/android-parallax-recyclerview在 RecyclerView 上实现视差效果。到目前为止,一切都很好。但是,我希望获得像 Google 报亭那样的效果,其中标题仍在卡片下方。

问题

问题在于 RecyclerView(或 LinerLayoutManager)会在列表的第一个元素触及父 View 顶部时分离标题 View :

enter image description here

如您所见,第一个 cardview 触及顶部的那一刻就是 RecyclerView 分离标题的那一刻。

我确信逻辑本身没有问题当卡片到达顶部时我得到 RecyclerView.findViewHolderForPosition(0) == null。证明 header 已回收。

尝试过的解决方案

我尝试了很多事情,比如:

ViewHolder.setIsRecyclable使用此方法将 holder 设置为 not recycler 没有任何效果。

LayoutManager.ignoreView我尝试将 View 标记为被丢弃和回收而被忽略。结果是一个异常(exception)说:试图回收一个被忽略的 View 持有者。在调用回收之前,您应该先调用 stopIgnoringView(view)。

setItemViewCacheSize什么都不做。尝试调用 setItemViewCacheSize(50) 但它对 header 没有任何作用。

setMaxRecycledViews尝试将 viewType=HEADER 的回收 View 的最大值设置为 0,它仍然会回收它。

结论

所以我想知道在我订购之前是否有标记该项目不会分离的东西(比如检查它是否仍然可见然后分离它)。

github 上也有关于它的问题:https://github.com/kanytu/android-parallax-recyclerview/issues/7

最佳答案

您可以将新设计支持库的 CoordinatorLayout 与您的 recyclerview 一起使用,并产生相同的效果,而不会出现此类问题。

检查此链接:http://android-developers.blogspot.com/2015/05/android-design-support-library.html

关于android - RecyclerView 分离 View 仍然可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28092491/

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