已开启
HarmonyOS 端 hitSlop.bottom 使用视图宽度计算底部边界,导致非正方形视图底部扩展触摸区域无法命中 #76
pyang5166创建于 7月19日
7月19日 修改了issue 的描述
dingchengjie
8月3日 评论:
8月3日 评论:
你好开发者,已收到问题,内部会进行确认分析


dingchengjie
12 天前 评论:
12 天前 评论:
你好开发者,已经确认是问题,近期会修复发版本


你好开发者,已收到问题,内部会进行确认分析


你好开发者,已经确认是问题,近期会修复发版本


问题描述
计算 hitSlop.bottom 命中区域时,底部边界使用了视图宽度 width,而不是视图高度 height。
例如目标视图尺寸是 width=200, height=400,并设置:
此时底部可触摸范围应从 y=0..400 扩展到 y=0..500。但当前 Harmony 实现会把底部边界算成 width + bottom = 200 + 100 = 300,导致 y=300..500 这段区域无法正确命中手势。这个问题在非正方形视图上很明显,正方形视图会掩盖该错误。
复现代码
预期结果
对于 200 x 400 的目标视图,整块区域都可以触发手势。
实际结果
对于 200 x 400 的目标视图和 bottom: 100,实际边界约为 y=300,导致 y=300..500 之间本应可命中的底部扩展区域无法触发手势。
备注
复现.mp4