我有一个在打开托管活动时窃取焦点的项目。
,但是在对讲模式下,它是两次读取的。
1)如何定义一项一旦活动的活动才能读取的项目?
2)什么会导致其内容描述被读取两次?
3)是否有一种方法来定义内容描述,请单击后读取?
我看到了这个文档,但没有找到答案。
这个问题缺乏一些细节,但这里有一些答案。
1-屏幕读取器将自动聚焦并读取屏幕上的第一个视图(从右至左,上,底部)。这是默认行为,不应更改。
2-在某些情况下,屏幕读取器在显示内容时可能会执行不同的动作。例如,当显示Dialog
时,TalkBack
的默认行为是宣布标题并专注于第二视图。如果您正在手动要求读者专注于标题,则可以阅读两次。
3-您可以使用Android:contentDescription或使用view.setContentDescription(textToRead)
看来,如果外部容器是'focusable',则可能会两次宣布内容。例如:
<FrameLayout focusable='true'>
<TextView/>
</FrameLayout>
所以,对我来说,修复程序是使外部容器"不聚焦"