在上图中,您可以看到TalkBack选择了一个完全遮挡的标签。如果我再次点击,则会选择顶部的整个面板(它被设置为可聚焦),这是所需的行为。
如何阻止TalkBack为公告选择完整(或部分)模糊的视图?
至少,我如何强制对讲以选择顶部/模糊视图?
答案 0 :(得分:0)
所以,没有足够的信息来完全回答这个问题。目前尚不清楚你的“学习”更多的东西是模态对话,所以需要处理,或者它是否可以保留在屏幕上,并且与布局中较低的东西的交互应该仍然可以访问。
场景1:我们假设“了解更多”对话框是一个应该在其他所有内容之前处理的模式,您想要的是使用自定义AlertDialog。然后Android系统将设置所有重要属性,而不需要不同的权限。最终,Android操作系统在这种情况下所做的是使用TYPE_SYSTEM_ALERT添加一个新视图,这可以确保对话框是屏幕上唯一可操作的东西(也是唯一可访问的!)。
https://developer.android.com/guide/topics/ui/dialogs.html#CustomLayout
场景2:“了解更多”横幅不是模态。你想要做的是隐藏横幅后面的视图。您可以通过设置view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
。
答案 1 :(得分:0)
使用布局检查器找到此标签并删除其可见性。
每个Android documentation 要打开布局检查器,请执行以下操作:
在连接的设备或仿真器上运行您的应用。
单击工具>布局检查器。
在出现的“选择进程”对话框中,选择要检查的应用程序进程,然后单击“确定”。
布局检查器捕获快照,将其另存为.li文件,然后将其打开。
通过编程方式或在布局文件中将可见性设置为“消失”:
android:visibility="gone"
或
nameOfLabel.setVisibility(View.GONE)
答案 2 :(得分:0)
您可以添加以下代码,TalkBack 将忽略该视图/图像:
android:importantForAccessibility="no"
更新答案:
当 View 被遮挡时,将其设置为被遮挡的 this 的根:
mainContentView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
然后,当您恢复该视图时,请执行以下操作:
mainContentView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);