Android可访问性:如何更改搜索栏读取的字符串



正如我在标题中所写的,Android Talkback实际上读取了我的搜索栏的提示文本,但我需要更改该行为以读取自定义字符串(与提示不同(。我试图设置contentDescription,但没有成功(对讲仍然读取提示文本(。

你有什么建议吗?

您可以在视图上设置AccessibilityDelegate来覆盖它通常描述自己的方式:

ViewCompat.setAccessibilityDelegate(yourView, object : AccessibilityDelegateCompat(){
override fun onInitializeAccessibilityNodeInfo(host: View?, info: AccessibilityNodeInfoCompat?) {
super.onInitializeAccessibilityNodeInfo(host, info)
info?.let { it.text = "whatever" }
}
})

或者你可以覆盖onPopulateAccessibilityEvent(它处理像AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED这样的触发事件(并使用event.getText(),它给你一个List<CharSequence>,你可以对其进行add描述。这实际上取决于你在做什么以及它需要多动态。

不幸的是,我还没有找到所有这些东西的一个很好的概述,否则我会把你链接到它

最新更新