Android 使用ViewPager2+时出现滚动冲突;嵌套滚动视图+;水平循环视图
Android 使用ViewPager2+时出现滚动冲突;嵌套滚动视图+;水平循环视图,android,android-fragments,android-recyclerview,android-nestedscrollview,android-viewpager2,Android,Android Fragments,Android Recyclerview,Android Nestedscrollview,Android Viewpager2,main活动包含一个ViewPager2,其中填充了相同片段的实例。该片段包含一个NestedScrollView,其中包含一些细节(文本、图像等),在底部有一个水平循环视图。该应用程序的设计类似于OLX应用程序 问题是,当我尝试在RecyclerView上向左或向右滑动时,ViewPager会使用滑动,切换片段 片段布局: <?xml version="1.0" encoding="utf-8"?> <androidx.coordina
main活动
包含一个ViewPager2
,其中填充了相同片段的实例。该片段包含一个NestedScrollView
,其中包含一些细节(文本、图像等),在底部有一个水平循环视图
。该应用程序的设计类似于OLX应用程序
问题是,当我尝试在RecyclerView
上向左或向右滑动时,ViewPager会使用滑动,切换片段
片段布局:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/coordinatorLayout">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout">
<ImageView
android:id="@+id/backdropImageView"/>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar">
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/nestedScrollView"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout">
<Some other views: TextView, ImageView</>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView_with_problems"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/someTextView" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
通过这样做,我可以在RecyclerView上向左/向右滑动,但我不能再在RecyclerView上向上/向下滑动,这一点都不友好
有没有其他人遇到过这个问题,愿意帮我一把?谢谢大家!
recyclerView_with_problems.addOnItemTouchListener(object : RecyclerView.OnItemTouchListener {
override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean {
when (e.action) {
MotionEvent.ACTION_DOWN -> rv.parent.requestDisallowInterceptTouchEvent(true)
}
return false
}
override fun onTouchEvent(@NonNull rv: RecyclerView, @NonNull e: MotionEvent) {}
override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {}
})