Android无障碍对checkbox控件默认的播报状态内容是已勾选和未勾选,但是我想改变他的播报状态内容变成已选中和未选中,我是用的是setStateDescription,但是这个方法在Android29的时候会编译报错,我还如何避免编译报错并且能够改变播报内容呢
9条回答 默认 最新
关注获得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无用