如何使用Android辅助功能切换选中状态?

时间:2019-05-12 15:33:14

标签: android accessibilityservice android-accessibility

我无法使用类android.widget.Switch.performAction(AccessibilityNodeInfo.ACTION_SELECT)来切换类.performAction(AccessibilityNodeInfo.ACTION_CLICK)的ui节点的检查状态,但是没有锻炼。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

某些事件发生时(例如单击按钮),您可以通过Switch对象设置View的状态:

ViewCompat.setAccessibilityLiveRegion(mySwitch, ViewCompat.ACCESSIBILITY_LIVE_REGION_POLITE)
mySwitch.isChecked = true

使用AccessibilityDelegate可以将可访问性状态设置为选中状态,但是对于Switch,当前View状态(打开或关闭)比从菜单中设置的状态更重要。代表。下面是将自定义AccessibilityDelegate设置为View的代码。

ViewCompat.setAccessibilityDelegate(mySwitch, object : AccessibilityDelegateCompat() {
    override fun onInitializeAccessibilityNodeInfo(host: View?, info: AccessibilityNodeInfoCompat?) {
        super.onInitializeAccessibilityNodeInfo(host, info)

        info?.isChecked = true
    }
})