2

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

1)如何知道它是否“专注于”某个组件(例如,textview)?

2)当它“专注于”某个组件时,如何中断它以播放我自己的音频文件然后返回并让对讲再次接管?

先感谢您!

- - 编辑

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

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

4

1 回答 1

1

答案A:

找到 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 下,通常认为在焦点上自动发生事情的可访问性较差。与其弄清楚如何使可访问性框架做一些通常被认为不可访问的事情,不如不要这样做:)。

于 2015-02-24T18:21:56.680 回答