- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这在多个类类型的多个地方发生,但我现在将坚持使用按钮示例。
所以我有一个按钮,我希望对讲将其宣布为“播放”。内容描述设置为“播放”。然而,对讲也在宣布类(class),所以它读作“播放按钮”。
我通过重载 onInitializeAccessibilityNodeInfo 方法尝试了在别处找到的解决方案
private void setupContentDescriptors() {
mPlayPauseButton.setAccessibilityDelegate(new View.AccessibilityDelegate() {
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info)
{
super.onInitializeAccessibilityNodeInfo(host, info);
//blanked to prevent talkback from announcing class/type
info.setClassName("");
info.setContentDescription("Play");
}
});
}
将类名设置为 ""效果很好,但我很快发现此解决方案仅适用于 API 23 及更高版本。根据文档,“从 API 23 开始,委托(delegate)方法在宿主方法之后调用,所有属性都将被修改而不会被宿主类覆盖。”
我试过其他几种方法都无济于事。想法?
最佳答案
在 API 23 之前,如果需要覆盖类名,则需要创建一个子类并实现 onInitializeAccessibilityNodeInfo()
。您不能使用委托(delegate)来覆盖它。
也就是说,TalkBack 试图通过说出角色描述为您的用户提供一致且高质量的体验。在绝大多数情况下,您不应尝试覆盖此行为。
关于java - Android - Talkback 在内容描述结束时宣布类类型。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37843919/
能否解释一下proclaim、declaim和declare这三个符号的区别? 最佳答案 它们是 symbols , 不是 keywords . proclaim命名为function使全局化 dec
我正在尝试使现有应用程序尽可能易于访问以进行语音传输。 目前,我有一个 uiviewcontroller,它基本上是一个分页照片 View ,在 uiscrollView (tourScrollVie
选择 UITableViewCell 时,画外音会宣布“已选择”,我不希望画外音说“已选择”。我怎样才能做到这一点? 我尝试过但没有成功的事情: 更改了单元格 accessibilityHint 和
我正在测试一个带有 TalkBack 的 Android 应用程序,“LIST”这个词被宣布为“Fifty first”。显然,TalkBack 假设大写字母“LI”是罗马数字 51。 我无法访问源代
假设 你在 github 上 fork 了一个项目 多人(少于 5 人)正在使用这个 fork 目标是对我们的更改提出 pull 请求 在对我们的分支进行几次提交之后,我们现在想要将我们的分支更新为源
我是一名优秀的程序员,十分优秀!