我希望在可访问性在视图寻呼机中更改焦点时设置onFocusChangeListener。
所以基本上现在通过可访问性我可以访问视图寻呼机的前2页而不是第三页。我也尝试在我的OnCreate上将视图寻呼机的offScreenPageLimit设置为6,但它仍然无法正常工作。
到目前为止我尝试过:
mPager.setOnGenericMotionListener
mPager.setOnFocusChangeListener
3. mPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
Log.d(TAG,"on page scrolled");
}
@Override
public void onPageSelected(int position) {
Log.d(TAG,"on page selected");
}
@Override
public void onPageScrollStateChanged(int state) {
Log.d(TAG,"on page scroll state");
}
});
请帮忙..谢谢:)
答案 0 :(得分:1)
您可以扩展ViewPager并覆盖dispatchPopulateAccessibilityEvent(也请调用super)
一旦你这样做并添加下面提到的条件,你就可以实现你对学习可访问性的梦想悬停进入/退出
dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_HOVER_EXIT) {
//...
} else if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER) {
//...
}
}
与悬停相比,TYPE_VIEW_ACCESSIBILITY_FOCUSED更优雅,因为它涵盖了无人悬停/触摸的辅助功能焦点场景