首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TalkBack:禁止选择遮挡视图

TalkBack:禁止选择遮挡视图
EN

Stack Overflow用户
提问于 2017-06-23 05:21:54
回答 3查看 1.6K关注 0票数 3

在上图中,您可以看到TalkBack选择了一个完全模糊的标签。如果我再次点击,则顶部的整个面板将被选中(它被设置为可聚焦),这是所需的行为。

如何防止TalkBack选择全部(或部分)遮挡视图进行公告?

至少,我如何强制对讲首先选择顶视图/遮挡视图?

EN

回答 3

Stack Overflow用户

发布于 2017-06-24 00:51:41

因此,没有足够的信息来完整地回答这个问题。还不清楚你的“学习”更多的东西是否是一个模式对话框,因此需要处理,或者它是否可以留在屏幕上,与布局中较低的东西的交互应该保持可访问。

场景1:让我们假设“了解更多”对话框是一个模式,应该在处理其他所有事情之前处理它,您想要的是使用一个自定义的AlertDialog。然后,Android系统将设置所有重要的属性,而不需要不同的权限。最终,安卓操作系统在这种情况下所做的是使用TYPE_SYSTEM_ALERT添加一个新的视图,这确保对话框是屏幕上唯一可操作的东西(也是唯一可访问的!)。

https://developer.android.com/guide/topics/ui/dialogs.html#CustomLayout

场景2:“了解更多”横幅不是模式。您要做的是将视图隐藏在横幅后面。您可以通过设置view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);来完成此操作。

票数 0
EN

Stack Overflow用户

发布于 2019-04-27 05:08:13

使用布局检查器查找此标签并删除其可见性。

对于每个安卓documentation,要打开布局检查器,请执行以下操作:

在连接的设备或emulator.

  • Click工具>布局检查器上运行
  1. 应用程序。
  2. 在出现的选择进程对话框中,选择要检查的应用程序进程,然后单击确定。
  3. 布局检查器捕获快照,将其另存为.li文件并将其打开。

以编程方式或在布局文件中将可见性设置为GONE:

代码语言:javascript
复制
android:visibility="gone"

代码语言:javascript
复制
nameOfLabel.setVisibility(View.GONE)
票数 0
EN

Stack Overflow用户

发布于 2021-01-27 15:23:13

您可以添加以下代码,这样TalkBack将忽略该视图/图像:

代码语言:javascript
复制
android:importantForAccessibility="no"

更新答案:

当视图被遮挡时,将其设置为遮挡的根:

代码语言:javascript
复制
mainContentView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);

然后,当您将该视图带回时,请执行以下操作:

代码语言:javascript
复制
mainContentView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44709590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档