gpt4 book ai didi

java - Android - Talkback 在内容描述结束时宣布类类型。

转载 作者:太空狗 更新时间:2023-10-29 16:31:18 25 4
gpt4 key购买 nike

这在多个类类型的多个地方发生,但我现在将坚持使用按钮示例。

所以我有一个按钮,我希望对讲将其宣布为“播放”。内容描述设置为“播放”。然而,对讲也在宣布类(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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com