滚动时,CoordinatorLayout内部的RecyclerView onPreScroll抖动

时间:2018-07-02 13:50:42

标签: android android-recyclerview android-coordinatorlayout

我正在尝试编写一种自定义行为,以缩小当用户垂直滚动放置的CoordinatedLayout时用作RecyclerView中的回收站视图的可视标头(而不是标头行)的图像视图在它下面。这个想法是,当用户尝试向上滚动Recyclerview时,“标题图像”会缩小并逐渐变淡,直到Recyclerview替换它为止,从那时起,除非用户拉动,否则回收者视图将按正常滚动。 Recyclerview向下移动,这样第一行就可见了,从那时起,图像开始扩大并失去透明度,因此再次可见。

我尝试使用自定义协调器布局行为中的onStartNestedScrollonNestedPreScrollonNestedScroll来做到这一点。

该方法在一定程度上可行,但是当我拖动RecyclerView时,显示会非常不平稳,并且我发现由于某种原因,RecyclerView意外调用了onNestedPreScroll

当我确定标题图像正在缩小并且我不希望RecyclerView滚动时,我通过将其返回到{{1}来消耗onNestedPreScroll调用中的所有运动在传递的数组中。我希望RecyclerView不做任何进一步的处理,但是看起来在更改标题图像的RecyclerView以调整其大小之后,LayoutParams onNestedPreScroll再次带有负数RecyclerView calls与先前的肯定dy大致相同(尽管不完全相同)。这样会导致dy上下跳动通常30-50像素,并且图像大小会抖动,并且自定义行为会对RecyclerView调用产生反应。

0 个答案:

没有答案