nestedscrollview 内的 recyclerview 不滚动
recyclerview inside nested scroll view is not scolling
我在 nestedScrollView
中有一个 recyclerview
并且我已经停止滚动 recyclerview
以允许 nestedScrollView
滚动所有页面,但是 nestedScrollView
不工作。
我已经将 recyclerview
的 nestedScrollingEnabled
设置为 false
我试图在 recyclerview
下添加一个隐藏视图,但它显示在 recyclerview
底部项目的顶部
我的布局xml文件代码是:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="viewModel"
type="com.accad.accadgame.viewmodels.profile.ProfileViewModel" />
</data>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/circleImageView"
android:layout_width="75dp"
android:layout_height="0dp"
android:layout_marginStart="@dimen/default_dim"
android:layout_marginTop="@dimen/default_xxdim"
android:layout_marginEnd="@dimen/default_dim"
android:src="@drawable/profile"
app:layout_constraintDimensionRatio="h,1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/profile_name"
style="@style/HeadlineTextViewActiveStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/default_dim"
android:layout_marginStart="@dimen/default_dim"
android:layout_marginEnd="@dimen/default_dim"
android:text="@{viewModel.profileName}"
app:layout_constraintEnd_toEndOf="@+id/circleImageView"
app:layout_constraintStart_toStartOf="@+id/circleImageView"
app:layout_constraintTop_toBottomOf="@+id/circleImageView"
tools:text="@tools:sample/lorem" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/profile_details_list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="@dimen/default_xxdim"
android:clipToPadding="false"
android:paddingBottom="@dimen/default_dim"
android:paddingStart="@dimen/default_dim"
android:nestedScrollingEnabled="false"
app:layout_constraintBottom_toBottomOf="parent"
android:focusable="false"
app:layout_constraintTop_toBottomOf="@id/profile_name"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
将您的静态内容作为 RV 中的第一项。
我知道这听起来可能很糟糕,但请相信我,这比嵌套的 RecyclerView 要好得多。
这将解决嵌套 RV 的回收、滚动、拖动和许多其他问题。
经过多次尝试,我找到了解决方案
这是将 recyclerView
的高度更改为 wrap_content
而不是 match_parent
或 0dp
因此 recyclerView
将是这样的:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/profile_details_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/default_xxdim"
android:clipToPadding="false"
android:paddingBottom="@dimen/default_dim"
android:paddingStart="@dimen/default_dim"
android:nestedScrollingEnabled="false"
app:layout_constraintBottom_toBottomOf="parent"
android:focusable="false"
app:layout_constraintTop_toBottomOf="@id/profile_name"
/>
我在 nestedScrollView
中有一个 recyclerview
并且我已经停止滚动 recyclerview
以允许 nestedScrollView
滚动所有页面,但是 nestedScrollView
不工作。
我已经将 recyclerview
的 nestedScrollingEnabled
设置为 false
我试图在 recyclerview
下添加一个隐藏视图,但它显示在 recyclerview
我的布局xml文件代码是:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="viewModel"
type="com.accad.accadgame.viewmodels.profile.ProfileViewModel" />
</data>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/circleImageView"
android:layout_width="75dp"
android:layout_height="0dp"
android:layout_marginStart="@dimen/default_dim"
android:layout_marginTop="@dimen/default_xxdim"
android:layout_marginEnd="@dimen/default_dim"
android:src="@drawable/profile"
app:layout_constraintDimensionRatio="h,1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/profile_name"
style="@style/HeadlineTextViewActiveStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/default_dim"
android:layout_marginStart="@dimen/default_dim"
android:layout_marginEnd="@dimen/default_dim"
android:text="@{viewModel.profileName}"
app:layout_constraintEnd_toEndOf="@+id/circleImageView"
app:layout_constraintStart_toStartOf="@+id/circleImageView"
app:layout_constraintTop_toBottomOf="@+id/circleImageView"
tools:text="@tools:sample/lorem" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/profile_details_list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="@dimen/default_xxdim"
android:clipToPadding="false"
android:paddingBottom="@dimen/default_dim"
android:paddingStart="@dimen/default_dim"
android:nestedScrollingEnabled="false"
app:layout_constraintBottom_toBottomOf="parent"
android:focusable="false"
app:layout_constraintTop_toBottomOf="@id/profile_name"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
将您的静态内容作为 RV 中的第一项。
我知道这听起来可能很糟糕,但请相信我,这比嵌套的 RecyclerView 要好得多。
这将解决嵌套 RV 的回收、滚动、拖动和许多其他问题。
经过多次尝试,我找到了解决方案
这是将 recyclerView
的高度更改为 wrap_content
而不是 match_parent
或 0dp
因此 recyclerView
将是这样的:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/profile_details_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/default_xxdim"
android:clipToPadding="false"
android:paddingBottom="@dimen/default_dim"
android:paddingStart="@dimen/default_dim"
android:nestedScrollingEnabled="false"
app:layout_constraintBottom_toBottomOf="parent"
android:focusable="false"
app:layout_constraintTop_toBottomOf="@id/profile_name"
/>