From ea94b27bd4e1ceb1f203b8006cdd61af9e95973b Mon Sep 17 00:00:00 2001
From: wushaocheng <15876365887@163.com>
Date: Fri, 3 Feb 2023 18:09:21 +0800
Subject: [PATCH] =?UTF-8?q?[Modify]=E4=BC=98=E5=8C=96Viewpager2=E6=BB=91?=
=?UTF-8?q?=E5=8A=A8=E5=A4=AA=E7=81=B5=E6=95=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/res/layout/fragment_recommend.xml | 6 +-
.../main/res/layout/fragment_room_common.xml | 2 +-
.../main/res/layout/fragment_room_game.xml | 4 +-
.../main/res/layout/fragment_room_like.xml | 8 +--
.../common/widget/VpRecyclerView.kt | 70 +++++++++++++++++++
5 files changed, 80 insertions(+), 10 deletions(-)
create mode 100644 library/src/module_common/java/com/yizhuan/xchat_android_library/common/widget/VpRecyclerView.kt
diff --git a/app/src/main/res/layout/fragment_recommend.xml b/app/src/main/res/layout/fragment_recommend.xml
index 1851f50c6..c1432a2db 100644
--- a/app/src/main/res/layout/fragment_recommend.xml
+++ b/app/src/main/res/layout/fragment_recommend.xml
@@ -92,7 +92,7 @@
android:gravity="center_vertical"
android:orientation="horizontal">
-
-
-
-
-
+ android:textSize="@dimen/sp_16" />
diff --git a/app/src/main/res/layout/fragment_room_like.xml b/app/src/main/res/layout/fragment_room_like.xml
index fee32ddb6..5b27f759c 100644
--- a/app/src/main/res/layout/fragment_room_like.xml
+++ b/app/src/main/res/layout/fragment_room_like.xml
@@ -26,7 +26,7 @@
android:textColor="#b3333333"
android:textSize="14sp" />
-
+ app:layout_constraintTop_toTopOf="@id/tv_like"
+ app:drawableRightCompat="@drawable/arrow_right" />
- {
+ //当手指按下时,得到了X,Y,
+ startX = ev.x.toInt()
+ startY = ev.y.toInt()
+ //
+ parent.requestDisallowInterceptTouchEvent(true)
+ }
+ MotionEvent.ACTION_MOVE -> {
+ //抬起手后得到的坐标,
+ val endX = ev.x.toInt()
+ val endY = ev.y.toInt()
+ //得到绝对值 。
+ val disX = abs(endX - startX)
+ val disY = abs(endY - startY)
+ //如果X轴 大于Y 轴,说明实在左右移动 为什么?
+ // 屏幕坐标,X,Y从左上角开始。0,0
+ if (disX > disY) {
+ Log.e("ACTIONdisX > disY:", "$disX")
+ //这个地方,判断了左右滑动的灵敏度,只有当左右滑动距离110 此时父布局才有作用,不拦截。
+ if (disX > 110) { //结束的时候大于
+ //当滑动的距离大于100的时候,才不拦截parent的事件 父控件才会有用。
+ parent.requestDisallowInterceptTouchEvent(false)
+ }
+ } else {
+ // 说明是上下滑动 //canScrollVertically 检查此视图是否可以按某个方向垂直滚动。 负数表示上下滚动。正数表示左右滚动
+ //return true如果视图可以按指定的方向滚动,否则为false。
+ //既然是上下滑动,此时,父控件就不能有 事件 true停止
+ parent.requestDisallowInterceptTouchEvent(true)
+
+
+ }
+ }
+ MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> parent.requestDisallowInterceptTouchEvent(false)
+ }
+
+
+ return super.dispatchTouchEvent(ev)
+
+ }
+}
+
+