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

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

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

先感谢您!

----编辑

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

一旦用户启用对讲功能,它将读出电话屏幕上的所有内容。如果用户想选择一个应用程序,则用户将一直向右,向左,向上或向下滑动,直到该应用程序名称被高亮显示/聚焦并由对讲宣布。因此,我想知道何时突出显示特定的textview。

最佳答案

答:

找到视图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下,通常认为使事情自动发生是很不方便的。除了不必弄清楚如何使可访问性框架做一些通常被认为不可访问的事情外,只需不要这样做:)。

07-27 16:50