所以,我有一个用Java编写的Android应用程序。我希望能够在视障人士的辅助功能选项中使用对讲。当用户浏览活动时,对讲"聚焦"关于各种组件,我希望能够知道这一点:
1)如何知道它是否专注于"在某个组件上(例如,textview)?
2)当它专注于"在那个特定的组件上,如何打断它来播放我自己的音频文件,然后回去让对讲再次接管?
提前谢谢!
----编辑
为了更清楚一点,万一你不熟悉对讲......
一旦用户启用对讲,它就会读出手机屏幕上的所有内容。如果用户想要选择应用程序,则用户将继续向右,向左,向上或向下滑动,直到该应用程序名称被突出显示/聚焦并由对讲通知。所以,我想知道什么时候突出显示特定的文本视图。
答案 0 :(得分: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,通常认为在焦点上自动发生事情的可访问性很差。而不是弄清楚如何使可访问性框架做一些通常被认为无法访问的东西,而不是改为:)。