正如我在标题中所写的,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
描述。这实际上取决于你在做什么以及它需要多动态。
不幸的是,我还没有找到所有这些东西的一个很好的概述,否则我会把你链接到它