TouchWiz 不支持 scroll/swipe 使用 Android 辅助功能

TouchWiz not support scroll/swipe using Android Accessibility

如何使用 Android 辅助功能通过 TouchWiz 制作 scroll/swipe。 请注意,常用方法不起作用,因为 TouchWiz 不支持 AccessibilityAction.ACTION_SCROLL_FORWARDAccessibilityAction.ACTION_SCROLL_BACKWARD

有什么想法吗?

首先:说 TouchWIZ 不支持 ACTION_SCROLL_FORWARD 和 ACTION_SCROLL_BACKWORD 就像说文本视图不支持 ACTION_CLICK。您引用的两个操作仅适用于 ScrollView 中的可滚动内容。 TouchWIZ 使用分页。意思是,您不是 "scrolling",而是在新视图中滑动。虽然动作看起来是滚动,但实际上是翻页。从概念的角度来看,它们是同一件事,但是,"scrolling" 在这个意义上在 Android API 中有一个非常正式的定义。

TouchWIZ 开发人员可以为这些实现侦听器,以便在滚动事件时发生分页,但这必须在应用程序内发生。

他们还可以将可聚焦元素的顺序定义为自动进行分页。不过,这又是一个应用程序端解决方案,而不是一个强制执行的服务。不过,我相信他们会这样做,如果您使用键盘 Tab 键进行导航,而不是箭头键或手势导航。

第二:当您从无障碍服务请求触摸探索模式时,两个手指手势将作为一个手指手势传递。因此,使用触摸探索模式的默认行为在 TouchWIZ 中翻页相当容易,这也是 AT 用户习惯的做法。

第三:我相信您所暗示的是 Google 已经开发了一段时间的功能,即能够从无障碍服务传递真正的硬件手势。因此,服务可以代表用户从更简单的手势创建真正的滑动手势。我认为这还没有完全实施。从他们 2016 年的 CSUN 演示中,我曾认为它会在 Android 6 中可用,但也许它被推迟到 7 甚至 7.1。当此功能可用时,我相信它就是您正在寻找的解决方案。在它可用之前,没有直接的方法来完成你想要的。