覆盖AccessibillityNodeInfo中的操作

时间:2017-03-01 01:45:40

标签: android accessibility android-accessibility

我有一个AccessibilityDelegateCompat的自定义视图用于初始化AccessibilityNodeInfo,如何避免/删除默认为视图的操作,例如“双击激活”?

我的AccessibilityActionCompat看起来像:

playVideoAction = new AccessibilityNodeInfoCompat
                .AccessibilityActionCompat(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_ACCESSIBILITY_FOCUS
                .getId(),
                "Double tap to play video");

我在accessibilityNodeInfoCompat.addAction(playVideoAction)中致电onInitializeAccessibilityNodeInfo()

我听到“双击播放视频”和“双击激活”。我只想听播放视频动作。

1 个答案:

答案 0 :(得分:2)

如果您想修改主要互动模式的内容(例如双击),您应该覆盖CLICK操作,而不是FOCUS。

playVideoAction = new AccessibilityActionCompat(
    AccessibilityNodeInfoCompat.ACTION_CLICK, "play video");

此外,您的描述应仅包括将要执行的操作,而不是交互模型 - 因此只需“播放视频”。可访问性服务负责管理交互模型并添加“双击”描述。对于其他类型的可访问性服务(如Switch Access或Voice。),此描述会有所不同。