当前位置: 首页 > 知识库问答 >
问题:

Android:当“焦点”在特定视图上时,如何在对讲(可访问性)期间中断?

单于越
2023-03-14

所以,我有一个用Java编写的Android应用程序。我希望能够在可访问性选项中为视障人士使用对讲。当用户在活动中滑动时,对讲“聚焦”在各种组件上,我希望能够知道这一点:

1)如何知道它是否“聚焦”在某个组件上(例如,textview)?

2) 当它“聚焦”在某个组件上时,如何中断它播放我自己的音频文件,然后返回,让对讲机再次接管?

提前感谢您!

----编辑

为了更清楚一点,以防你不熟悉对讲...

用户启用对讲后,它会读出手机屏幕上的所有内容。如果用户想要选择一个应用程序,用户将继续向右、向左、向上或向下滑动,直到该应用程序名称突出显示/聚焦并由对讲宣布。因此,我想知道何时突出显示特定的文本视图。

共有1个答案

谭安翔
2023-03-14

答:

查找View.AccessibilityDelegate.视图

然后重写以下方法

@Override
public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) {
    if(event.getEventType() == TYPE_VIEW_ACCESSIBILITY_FOCUSED) {
        /*do your stuff here*/
    } else {
        return super.onRequestSendAccessibilityEvent(child, event);
    }
}

您要查找TYPE_VIEW_ACCESSIBILITY_FOCUSED类型的事件。

答案B:根据WCag 2.0指南3.2,让事情自动发生在焦点上通常被认为是糟糕的可访问性。与其弄清楚如何让可访问性框架做一些通常被认为不可访问的事情,不如不做:)。

 类似资料:
  • 启用对讲后,是否有办法将辅助功能焦点手册设置为特定视图?例如,当我的活动开始时,我希望TalkBack自动聚焦于某个按钮(视图周围的黄色框)并读取其内容描述。 到目前为止,我所尝试的: 请求焦点()似乎只是请求输入焦点,与可访问性焦点无关。我也尝试过: 这些似乎都不起作用。

  • 我有一个页面,用户需要输入他们的电子邮件,然后点击底部的按钮进行确认。确认电子邮件时,屏幕上会显示一个进度对话框。当在编辑文本中输入无效电子邮件时,就像只输入字母“a”一样,编辑文本下方会以文本视图的形式显示一条错误消息。我正在努力让这个页面更容易访问。 我的预期方法是,当错误文本出现时,让对讲模式聚焦在错误文本上。然而,这并不是很有效。相反,当解除“进程”对话框覆盖时,屏幕上的任何内容都不会通过

  • 当视图具有事件单击并启用对讲时。我需要禁用视图中的“双击”音频。 我在android开发中使用可访问性。 请问我该怎么做?

  • 我有这个应用程序与WebView显示HTML内容。 在我做了一些相当大的更改之后,对讲的可访问性出现了一些“问题”,特别是文本到语音和触摸探索,仅在4.4设备上(不在5.0上)。 触摸一段(段落)文本有时会起作用,但有时会产生点击声,没有输出,文本也不会像应该的那样用选择矩形突出显示。 在5.0上,一切都很好:触摸一段文本会在其周围绘制一个选择,文本就会被说出。 我知道4.4上的回归与我的一些更改

  • 在某些用户操作中,我想在屏幕上发布一些<code>声明,不久之后,我想将可访问性焦点转移到<code>特定视图。 我可以实现它就像, 但这只是一种变通方法。当用户使用< code >自定义语速时,在某些情况下可能会失败。 当对讲机在阅读公告后结束时,我们有没有办法得到回拨?

  • 我目前正努力用更多的发声来创建。背景是: 我想为用户在左右选项卡上添加“未选择选项卡[选项卡名称],单击两次以选择”和“已选择选项卡[选项卡名称]”到中间位置 我还想在单击选项卡时添加一个发声,以警告用户其内容已更改,并告诉聚焦中心选项卡 通过重写所有需要的类(例如:,,),并直接在选项卡上添加右侧的,我已经部分成功地完成了这项工作。它运行得相当好,但我不满意。这些类的维护需要针对Android主