recyclerview在nestedscrollview中首先滚动

f8rj6qna  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(269)

我试图实现这样的目标:布局示例
nestedscrollview包含除顶部工具栏以外的所有内容。在nestedscrollview中,我有一个包含recyclerview的viewpager。当你尝试滚动recyclerview nestedscrollview时,我正在尝试这样做,首先滚动到顶部,然后滚动recyclerview。但是nestedscrollview只有在我在recyclerview的末尾时才会开始滚动。我想把 android:nestedScrollingEnabled="true" 在一个recyclerview,它似乎是工作,但然后recyclerview本身不再滚动。有没有办法实现这样的滚动行为?谢谢
更新这里是一个xml文件的主页

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:clickable="true">

<RelativeLayout
    android:id="@+id/profile_inner_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/profile_toolbar"
        android:layout_width="match_parent"
        android:layout_height="50dp">

        <ImageView/>

        <TextView/>

        <ImageView/>

        <View/>

    </RelativeLayout>

    <androidx.core.widget.NestedScrollView
        android:id="@+id/profile_scrollview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/profile_toolbar"
        android:fillViewport="true"
        android:overScrollMode="never">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:descendantFocusability="blocksDescendants">

            <LinearLayout
                android:id="@+id/inner_main_content"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                // Some layout before ViewPager

            </LinearLayout>

            <RelativeLayout
                android:id="@+id/profile_tabs_main"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_below="@+id/inner_main_content"
                android:background="@color/white">

                <View
                    android:id="@+id/border_top"
                    android:layout_width="match_parent"
                    android:layout_height="1px"
                    android:background="@color/dark_text_color_transparent_40"
                    android:layout_alignParentTop="true"/>

                <com.google.android.material.tabs.TabLayout
                    android:id="@+id/profile_tablayout"
                    android:layout_width="match_parent"
                    android:layout_height="40dp"
                    app:tabMode="fixed"
                    app:tabBackground="@color/white"
                    android:gravity="center"
                    app:tabGravity="fill"
                    app:tabIndicatorColor="@color/dark_text_color"
                    app:tabIndicatorHeight="2dp"
                    app:tabIndicatorFullWidth="false"
                    app:tabRippleColor="@color/dark_text_color_transparent_10"
                    android:layout_below="@+id/border_top"
                    app:tabPaddingStart="80dp"
                    app:tabPaddingEnd="80dp"/>

                <View
                    android:id="@+id/border_bottom"
                    android:layout_width="match_parent"
                    android:layout_height="1px"
                    android:background="@color/dark_text_color_transparent_40"
                    android:layout_below="@+id/profile_tablayout"/>

                <androidx.viewpager.widget.ViewPager
                    android:id="@+id/profile_viewpager"
                    android:layout_below="@+id/border_bottom"
                    android:background="@color/white"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:overScrollMode="never"/>

            </RelativeLayout>

        </RelativeLayout>

    </androidx.core.widget.NestedScrollView>

</RelativeLayout>

这里是viewpager的片段布局

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollingCache="true"
    android:visibility="visible"
    android:overScrollMode="never"
    android:nestedScrollingEnabled="true"/>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题