我有一个捕获用户签名的自定义 View ( John Hancock )。我希望我们的应用程序尽可能易于访问,因此我特别注意确保针对TalkBack 和Explore-by-Touch 优化我们的屏幕。由于 Explore-by-Touch 将所有单指手势更改为两指手势,因此它打破了自定义签名 View 。
我想做的是让 Explore-by-Touch 在悬停时宣布 View 的内容描述,然后在用户双击时启用 View 。这将允许他们像普通用户一样使用单个指针在 View 顶部绘制。
我四处搜索,但很难找到有关 Android 辅助功能库的详细文档。有什么想法吗?
最佳答案
启用“触摸浏览”后,单指触摸事件将转换为悬停事件。您可以通过添加 OnHoverListener 来观看这些事件到您的 View 或覆盖 View.onHoverEvent .
一旦您拦截了这些事件,您通常可以将它们传递给您的正常触摸处理代码,并将悬停操作映射到触摸操作(如下所示)。
@Override
public boolean onHoverEvent(MotionEvent event) {
if (mAccessibilityManager.isTouchExplorationEnabled()) {
return onTouchEvent(event);
} else {
return super.onHoverEvent(event);
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_HOVER_ENTER:
return handleDown(event);
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_HOVER_MOVE:
return handleMove(event);
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_HOVER_EXIT:
return handleUp(event);
}
return false;
}
关于android - 启用触摸浏览后,如何保持单指针手势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14328313/