覆盖 AccessibillityNodeInfo 中的操作
Overriding action in AccessibillityNodeInfo
我有一个带有 AccessibilityDelegateCompat
的自定义视图用于初始化 AccessibilityNodeInfo
,如何避免/删除视图默认的操作,如 'double tap to activate'?
我的 AccessibilityActionCompat 看起来像:
playVideoAction = new AccessibilityNodeInfoCompat
.AccessibilityActionCompat(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_ACCESSIBILITY_FOCUS
.getId(),
"Double tap to play video");
我在 onInitializeAccessibilityNodeInfo()
中调用 accessibilityNodeInfoCompat.addAction(playVideoAction)
。
我听到 'Double tap to play video' 和 'Double tap to activate'。我只想听到播放视频的动作。
如果您想修改主要交互模式(例如双击)的语音内容,您应该覆盖 CLICK 操作,而不是 FOCUS。
playVideoAction = new AccessibilityActionCompat(
AccessibilityNodeInfoCompat.ACTION_CLICK, "play video");
此外,您的描述应该只包括将要执行的操作,而不是交互模型——所以 "play video." 无障碍服务负责管理交互模型并添加 "double tap to"描述。对于其他类型的无障碍服务,例如“开关控制”或“语音”,此描述会有所不同。
我有一个带有 AccessibilityDelegateCompat
的自定义视图用于初始化 AccessibilityNodeInfo
,如何避免/删除视图默认的操作,如 'double tap to activate'?
我的 AccessibilityActionCompat 看起来像:
playVideoAction = new AccessibilityNodeInfoCompat
.AccessibilityActionCompat(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_ACCESSIBILITY_FOCUS
.getId(),
"Double tap to play video");
我在 onInitializeAccessibilityNodeInfo()
中调用 accessibilityNodeInfoCompat.addAction(playVideoAction)
。
我听到 'Double tap to play video' 和 'Double tap to activate'。我只想听到播放视频的动作。
如果您想修改主要交互模式(例如双击)的语音内容,您应该覆盖 CLICK 操作,而不是 FOCUS。
playVideoAction = new AccessibilityActionCompat(
AccessibilityNodeInfoCompat.ACTION_CLICK, "play video");
此外,您的描述应该只包括将要执行的操作,而不是交互模型——所以 "play video." 无障碍服务负责管理交互模型并添加 "double tap to"描述。对于其他类型的无障碍服务,例如“开关控制”或“语音”,此描述会有所不同。