android - 发音自定义语句而不是选中/未选中
问题描述
我正在寻找是否可以更改在 TalkBack 期间为 Android 中的单选按钮所做的选中/未选中语句。当单选按钮当前处于焦点时,TalkBack 会说出它是选中还是未选中。我想看看是否可以将其更改为“已选择”和“未选择”。
凭借 Android 在控制这方面的所有灵活性,我只是想看看它是否可以完成,如果可以,该怎么做。
解决方案
从源代码中可以看出,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
}
});
推荐阅读
- r - `summary_rows` 之后的跨列摘要与 gt
- javascript - 根据另一个 [TS/JS] 过滤一组对象
- javascript - React defaultChecked 无线电输入(使用 react-hook-form)
- java - 使用 JSTL 时出现 JasperException
- laravel - 无法从 Homestead 上的 Laravel 6 连接到邮件服务器
- python - _tkinter.TclError:无效的命令名称“.!entry”
- sql - 将列添加到 SQL 表并使用该列的一组固定值分解行
- javascript - 使用包装反应应用程序的优点是什么
与直接使用 javascript 进行突变和查询相比 - c++ - 在构造函数中初始化参数的构造
- reactjs - React Redux 错误:redux.js:275 未捕获错误:操作必须是普通对象。相反,实际的类型是:'Promise'