如何覆盖辅助功能类名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何覆盖辅助功能类名称相关的知识,希望对你有一定的参考价值。

我想防止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 = ""
        
    )

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

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

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

答案

这对我有用,使用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()
        
    )

以上是关于如何覆盖辅助功能类名称的主要内容,如果未能解决你的问题,请参考以下文章

Sprite Kit 的辅助功能(画外音)

如何利用android辅助功能

C++开发人脸性别识别教程(18)——辅助功能之文件名批量修改方法验证

如何启用从设置中删除动画-> 辅助功能 android

iOS 辅助功能 - 如何本地化 VoiceOver 语言

UIBarButtonItem 如何禁用辅助功能 (iOS)