在带有 RecyclerView 的 NestedScrollView 中无法正确显示过度滚动效果

Posted

技术标签:

【中文标题】在带有 RecyclerView 的 NestedScrollView 中无法正确显示过度滚动效果【英文标题】:Overscroll effect is not displayed correctly in NestedScrollView with RecyclerView inside 【发布时间】:2020-12-05 02:05:02 【问题描述】:

我有包含一些视图和 RecyclerView 的 NestedScrollView。但是当我滚动 RecyclerView 时,过度滚动的效果只显示在里面。如何在 NestedScrollView 中显示?

我可以使用android:overScrollMode="never" 在 RecyclerView 中禁用过度滚动效果,但我不知道如何在滚动 RecyclerView 时在 NestedScrollView 中启用过度滚动效果。我已经尝试了所有明显的解决方案。

<androidx.core.widget.NestedScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_>

    <LinearLayout
        android:layout_
        android:layout_
        android:orientation="vertical">

        <!-- My views here -->

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_
            android:layout_/>

    </LinearLayout>

</androidx.core.widget.NestedScrollView>

PS:我需要将我的一些视图放在 RecyclerView 之外,否则 RecyclerView 适配器会变得不必要地复杂(有必要描述所有类型的元素)。请不要说这对性能不利。就我而言,这无关紧要。

【问题讨论】:

【参考方案1】:

请通过NestedScrollView reference document了解更多信息。

并将recyclerView.setNestedScrollingEnabled(false); 添加到您的RecyclerView

【讨论】:

以上是关于在带有 RecyclerView 的 NestedScrollView 中无法正确显示过度滚动效果的主要内容,如果未能解决你的问题,请参考以下文章

Espresso Nested Recycler Views UI 测试

带有 RecyclerView 的 DialogFragment 比带有 Recyclerview 的 Fragment 慢

带有 RecyclerView 的 SwipeRefreshLayout 在片段中不起作用

使用带有卡片的 RecyclerView

在带有 RecyclerView 的 NestedScrollView 中无法正确显示过度滚动效果

带有片段的 RecyclerView