如何覆盖辅助功能类名称

问题描述 投票:0回答:1

我想防止Talkback宣布Button视图的类名。为此,我编写了以下逻辑,但不起作用

fun setAccessibilityDelegate(view: Button?) {
    view?.setAccessibilityDelegate(object : View.AccessibilityDelegate() {
        override fun onInitializeAccessibilityNodeInfo(host: View?, info: AccessibilityNodeInfo?) {
            super.onInitializeAccessibilityNodeInfo(host, info)
            info?.contentDescription = getContentDesStartWatching()
            info?.className = ""
        }
    })
}

实际说明:“开始观看按钮,按钮双击激活”

预期描述:“ 开始观看按钮,双击以激活

[注意:无法从后端获取内容描述,将其更改为“开始观看”

android kotlin accessibility talkback
1个回答
0
投票

这对我有用,使用AccessibilityDelegateCompat而不是AccessibilityDelegate

Kotlin代码:

fun setAccessibilityDelegate(view: View) {
    ViewCompat.setAccessibilityDelegate(view, object: AccessibilityDelegateCompat() {
        override fun onInitializeAccessibilityNodeInfo(host:View,
                                                       info: AccessibilityNodeInfoCompat) {
            super.onInitializeAccessibilityNodeInfo(host, info)
            info.className = null
            info.contentDescription = getContentDesStartWatching()
        }
    })
}
© www.soinside.com 2019 - 2024. All rights reserved.