我在使应用程序辅助功能兼容的过程中遇到了几个问题。
我有一个微调器,其中包含一些项目,在我选择其中一个项目后,微调器关闭,焦点移动到页面操作栏的顶部,但我希望焦点保留在最后使用的元素上即,旋转器。尝试:
spinnerId.requestfocus();或spinnerId.performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS,null);在代码中但没有任何效果。
2.即使onResume(),我如何将焦点设置为最后访问的元素?被调用来刷新数据?
3.当我向后滚动元素时,页面反向顺序不起作用。
4.我有一个动态填充元素的列表视图,可访问性不会一直滚动页面而是转到右边的片段(我的平板电脑中有左右片段)跳过屏幕下方的元素。
答案 0 :(得分:0)
由于您的微调器已经是焦点,您必须清除此焦点,将此事件发送到辅助功能并再次请求它:
yourView.clearFocus();
yourView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
yourView.requestFocus();
yourView.setFocusableInTouchMode(true);
他花了一些时间来找到这个技巧,但我们在应用程序的几个不同的地方使用它,它运作良好。