首页 > 解决方案 > 发音自定义语句而不是选中/未选中

问题描述

我正在寻找是否可以更改在 TalkBack 期间为 Android 中的单选按钮所做的选中/未选中语句。当单选按钮当前处于焦点时,TalkBack 会说出它是选中还是未选中。我想看看是否可以将其更改为“已选择”和“未选择”。

凭借 Android 在控制这方面的所有灵活性,我只是想看看它是否可以完成,如果可以,该怎么做。

标签: androidradio-buttonaccessibilitytalkbackandroid-accessibility

解决方案


从源代码中可以看出,RadioButton声明自己是一个可检查的可访问性节点。您可以做的是重置它并将其标记为选中:

    ViewCompat.setAccessibilityDelegate(radioButton, new AccessibilityDelegateCompat() {
        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.setCheckable(false); // Checked/unchecked won't be pronounced
            info.setSelected(radioButton.isChecked()); // if item is selected, then "selected" will be pronounced
        }
    });

推荐阅读