Skip to content

fix(gesture): 修复跟进 2.1.0 后横滑切换简介/评论区再次难以触发 - #141

Closed
wm-develop wants to merge 0 commit into
dev4harmony:ohosfrom
wm-develop:ohos
Closed

fix(gesture): 修复跟进 2.1.0 后横滑切换简介/评论区再次难以触发#141
wm-develop wants to merge 0 commit into
dev4harmony:ohosfrom
wm-develop:ohos

Conversation

@wm-develop

Copy link
Copy Markdown
Member

原因

#98 的修复由三部分组成,其中「鸿蒙下将竖向 touchSlop 覆盖为 8」这一项写在 MyApp._scaledBuilder 的 MediaQuery copyWith 参数里,两条分支各写了一份。跟进 2.1.0(1aebdefe3)时上游重写了 uiScale == 1.0 分支的整个 copyWith,该参数被静默丢弃;而手机上 uiScale 恒为 1.0,等于这条覆盖从未执行过。

竖向 slop 于是退回鸿蒙引擎下发的 ~1.48 逻辑像素(ArkUI PanGesture 的 5vp 被当作 physicalTouchSlop 下发,框架又除了一次 DPR),与横向的 12 形成约 8:1 的差距 —— 只有约 7° 以内近乎纯水平的滑动才抢得到手势竞技场。

另两项(touchSlopH 默认值 24→12、方向判定 dx > 3·dy → dx > dy)完好,但如 #98 所述,它们单独无法生效。

修复

  • 将 gestureSettings 覆盖上移到 if/else 之前,直接改写 mediaQuery 本身:该覆盖与 uiScale 无关,两条分支都应生效
  • if/else 内部随之恢复为与上游逐字一致,后续再合上游只会产生冲突(吵闹、可见),不会再被静默覆盖
  • update pr_check.yml

@wm-develop

Copy link
Copy Markdown
Member Author

Merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant