From 2d5726db9a7bc054e07b43dd9997f591085b44ae Mon Sep 17 00:00:00 2001 From: dongliang Date: Tue, 28 Apr 2026 18:38:17 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=8B=E6=8B=89=E6=89=8B=E5=8A=BF?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=9C=A8=E7=8A=B6=E6=80=81=E6=A0=8F=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E6=A3=80=E6=B5=8B=EF=BC=88=E9=81=BF=E5=85=8DViewPager?= =?UTF-8?q?2=E6=8B=A6=E6=88=AA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 状态栏区域扩大为40dp触摸区,在此区域检测下拉手势进入考勤页 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../com/xiaoqu/watch/ui/home/HomeFragment.kt | 15 ++++++++------- app/src/main/res/layout/fragment_home.xml | 18 +++++++++++++----- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt b/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt index ca8698c..27398a0 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt @@ -273,7 +273,7 @@ class HomeFragment : BaseFragment() { findNavController().navigate(R.id.action_home_to_taskList, bundle) } - /** 设置下拉手势 → 进入考勤打卡页 */ + /** 设置下拉手势 → 进入考勤打卡页(在状态栏区域检测) */ @android.annotation.SuppressLint("ClickableViewAccessibility") private fun setupPullDownGesture() { val gestureDetector = android.view.GestureDetector( @@ -287,21 +287,22 @@ class HomeFragment : BaseFragment() { ): Boolean { if (e1 == null) return false val dy = e2.y - e1.y - val dx = e2.x - e1.x - // 下拉(dy > 0)且垂直幅度 > 水平 - if (dy > 80 && kotlin.math.abs(dy) > kotlin.math.abs(dx)) { + // 下拉手势(dy > 0 且速度 > 0) + if (dy > 30 && velocityY > 100) { navigateToPunch() return true } return false } + + override fun onDown(e: android.view.MotionEvent): Boolean = true } ) - // 给 ViewPager2 内部的 RecyclerView 添加触摸监听 - binding.viewPager.getChildAt(0)?.setOnTouchListener { _, event -> + // 在状态栏上方的触摸区域检测下拉(不被 ViewPager2 拦截) + binding.pullDownArea.setOnTouchListener { _, event -> gestureDetector.onTouchEvent(event) - false + true } } diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 5041af2..1ead59a 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -9,12 +9,20 @@ android:paddingTop="27dp" android:paddingEnd="21dp"> - - + + android:layout_height="40dp" + android:layout_marginBottom="3dp"> + + + +