gpt4 book ai didi

android - Accessibility Dialog/DialogFragment 读取文本而不是内容描述

转载 作者:行者123 更新时间:2023-11-29 00:17:57 25 4
gpt4 key购买 nike

我有一个对话框,其中的 TextView 很少。对于每个 TextView ,我都设置了不同的内容描述和文本。例如。

<TextView
android:id="@+id/tv_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="TV 3"
android:text="Text Number 3" />

当我向用户显示对话框时,Talkback 会读取每个 TextView 的文本(即文本编号 3)而不是内容描述(即 TV 3)。

但是,如果我将鼠标悬停在任何 TextView 上,Talkback 会读取内容描述。

如何让它在显示对话框时读取内容描述?

PS:我曾尝试在布局和代码中设置内容描述,但没有成功

提前致谢。

最佳答案

这是顶级 AccessibilityEvents 如何聚合其文本的副作用。这可能是需要在 TalkBack 中修复的问题,但您可以通过扩展 TextView 或在 View 上设置 AccessibilityDelegate 来在您的应用中以困难的方式解决它。

基本上,您想让 onPopulateAccessibilityEvent() 使用内容描述而不是文本来填充事件。

假设您扩展了 TextView:

public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
// The super method would normally add the text, but we want to
// add the content description instead. No need to call super.
event.getText().add(getContentDescription());
}

请记住,在大多数情况下,您希望 TextView 的内容描述和视觉外观相匹配,覆盖默认行为可能会导致意外结果。一般建议不要在 TextView 上设置内容描述。

关于android - Accessibility Dialog/DialogFragment 读取文本而不是内容描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25169273/

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