如何在不使用nestedscrollview的情况下滚动具有recyclerview的屏幕?

问题描述 投票:0回答:1

我有一个视图,其中包含 RecyclerView 和放置在 NestedScrollView 中的其他元素。我的问题是,当 RecyclerView 中的项目太多时,界面会冻结几秒钟。

我已经弄清楚这是由于使用了NestedScrollView造成的。如果你删除它,那么一切都很好。

但是我需要滚动整个屏幕。没有 NestedScrollView 如何才能做到这一点?

<androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true"
        android:orientation="vertical"
        android:overScrollMode="never"
        android:scrollbars="none">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <!-- Other elements -->

            <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/recyclerTask"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clipToPadding="false"
            android:orientation="vertical"
            android:overScrollMode="never"
            android:paddingTop="4dp"
            android:paddingBottom="4dp"
            android:scrollbars="none"
            tools:listitem="@layout/item_task" />
        </LinearLayout>
</androidx.core.widget.NestedScrollView>

这是初始化RecyclerView:

binding.recyclerTask.apply {
            layoutManager = LinearLayoutManager(activity)
            itemAnimator = null
            adapter = adapterTasks
        }
android kotlin android-recyclerview
1个回答
0
投票

希望这有帮助... CoordinatorLayout 以及 AppBarLayout 和 CollapsingToolbarLayout

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:id="@+id/collapsingToolbarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

        </com.google.android.material.appbar.CollapsingToolbarLayout>
    </com.google.android.material.appbar.AppBarLayout>

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerTask"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>
© www.soinside.com 2019 - 2024. All rights reserved.