gpt4 book ai didi

android - Talkback 不读取标题的 subview

转载 作者:行者123 更新时间:2023-11-30 01:47:31 26 4
gpt4 key购买 nike

我将标题添加到 ListView。 header 有几个组件(按钮、TextView、RelativeLayouts)。当打开对讲并选择标题时,将读取整个标题,您无法选择单个组件。虽然,按钮是可选的,对讲系统会读取它们。但是 TextView 不是分开的。

如何让对讲将 header 中的所有组件视为单独的组件?

最佳答案

简单的回答:你不能。

TalkBack 试图变得聪明,通过收集 ListView 单元格(标题 View 仍然是 ListView 的一部分)中的所有信息(读取:未激活)信息并将其作为一个元素读出。这将该单元格中的任何信息关联在一起,我相信通过将对象放置的布局标记为 importantForAccessibility,尽管使用 ListView 单元格的特定逻辑可能会发生一些 TalkBack 魔法。

例如,如果您有如下所示的单元格:

Name: Chris
Address: Blah blah blah

Name: Herman
Address: Blarg blarg blarg

每个单元格都会读出:

Name: Chris Adress Blah Blah Blah

这是有益的,因为没有排序/数据关联问题。如果数据没有打包在一起怎么办? “Blah Blah Blah”地址属于 Chris(前面的名字)还是 Herman(后面的名字)?此方程式中忽略了 active 元素,因为 active 元素需要……非常活跃。因此必须是单独可聚焦的,以便用户可以与它们交互。

当然可以争论这种方法的相对优点与允许开发人员犯不正确的数据关联的错误,但是已经做出决定并且你坚持它。

如果您真的很在意,您可以重新发明轮子,并创建您自己的 ListView ,使用线性布局,这真的没有那么难。在这种情况下,您当然可以获得您想要的任何行为。或者,将您的标题放在单独的布局中,而不是使用 ListViews 标题单元格。

假设,如果我假设他们在 ListView 单元格上使用“isImportantForAccessibility”是实现方式(与 ListViews 的一些 TalkBack 魔法相反),您可以在 View 层次结构上爬升到单元格布局绘制(因此 Android 框架已经有了它的方式),并将 isImportantForAccessibility 重置为 no。不过,我强烈建议不要使用这种方法,因为

答:我不确定它是否有效,这只是假设(不,我不会亲自测试)。如果这方面的逻辑确实在 TalkBack 方面,那么您真的很糟糕,除非您想重新发明 ListView 或编写自己的屏幕阅读器。

B:总的来说,TalkBack 试图做的这些聪明的事情有助于辅助功能,而不是伤害它。除非您真的了解辅助功能,否则最好让 Android 自行其是。

关于android - Talkback 不读取标题的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33506241/

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