我的应用程序中有几个片段的透明视图。因此,我的片段位于透明叠加层下方,但是当打开叠加层时,用户无法访问它们,因为触摸叠加层将会忽略它。当我启用TalkBack
时,所有工作都很好我的问题是,当我启用TalkBack并且我滑动以选择下一个元素时,一旦TalkBack完成了叠加层中的所有内容,它将开始将焦点设置在叠加下面的项目上。有没有办法阻止它这样做?类似于android:clickable="true"
或使用onClick侦听器使透明叠加层拦截所有点击的内容?
答案 0 :(得分:6)
在API 19+上,您可以将要隐藏在TalkBack中的层次结构的根视图的accessibility importance设置为NO_HIDE_DESCENDANTS。这将阻止TalkBack聚焦该层次结构中的任何内容,这就是我们处理导航抽屉稀松布的方法。
在之前的版本中,没有好办法完成此任务。但是,有一些不好的方法涉及从根视图的AccessibilityNodeInfo中手动隐藏节点,您可以在DrawerLayout源代码中检查这些节点。