m0_50679998 2023-01-06 00:24 采纳率: 0%
浏览 127
已结题

Android无障碍如何修改播报

Android无障碍对checkbox控件默认的播报状态内容是已勾选和未勾选,但是我想改变他的播报状态内容变成已选中和未选中,我是用的是setStateDescription,但是这个方法在Android29的时候会编译报错,我还如何避免编译报错并且能够改变播报内容呢

  • 写回答

9条回答 默认 最新

  • 感谢地心引力 优质创作者: 嵌入式与硬件开发技术领域 2023-01-06 02:03
    关注
    获得1.65元问题酬金

    可以使用 android:contentDescription 属性来改变 CheckBox 控件的无障碍辅助功能播报文本。

    例如,要将 CheckBox 的无障碍辅助功能播报文本改为“已选中”和“未选中”,可以在布局文件中的 CheckBox 控件中使用以下内容:

    android:contentDescription="@string/checkbox_selected"
    

    然后,在你的应用的 strings.xml 文件中定义两个字符串资源:

    <string name="checkbox_selected">已选中</string>
    <string name="checkbox_unselected">未选中</string>
    

    最后,在你的应用的代码中,设置 CheckBox 的 contentDescription 属性,以在用户选中或取消选中 CheckBox 时更新辅助功能播报文本:

    checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked) {
                checkBox.setContentDescription(getString(R.string.checkbox_selected));
            } else {
                checkBox.setContentDescription(getString(R.string.checkbox_unselected));
            }
        }
    });
    

    这样,当用户使用无障碍工具访问 CheckBox 时,将听到“已选中”或“未选中”的播报。

    评论

报告相同问题?

问题事件

  • 系统已结题 1月14日
  • 创建了问题 1月6日