我是android的新手。我在启用对讲时处理触摸事件时遇到问题。
我正在测试android 6,galaxy S6:
首先:我已在设备上激活语音支持(Settings \ Accessibility \ Vision \ Talkback)。
第二:在页面上,双击屏幕上的图标,它没有显示正确的坐标,它似乎保留了以前的值:
这是我的代码的一部分,双击时x和y不会改变:
characterCircle.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
pinBlock.setLastPinDigit("");
int [] xLoc = characterCircle.getxLoc();
int [] yLoc = characterCircle.getyLoc();
String [] zValue = characterCircle.getzValue();
if(xLoc == null){
return false;
}
float x = event.getX();
float y = event.getY();
int boundaryX = characterCircle.getmRadius() / 13;
int boundaryY = characterCircle.getmRadius() / 13;
我尝试了getRowX()和getRowY(),但它们在我的情况下不起作用。因为我不想有与屏幕相关的位置..
请在这个问题上帮助我。
非常感谢
答案 0 :(得分:2)
TalkBack捕获触摸事件并将其转换为其他AccessibilityEvents,后端可以通过多种方式实现,具体取决于操作系统的版本。这些都不应取决于点击/双击/任何触摸事件的位置。它可能是确定性的,但不是重要的任何方式。您可以在一定程度上通过触摸手势,但仅适用于较长的触摸相关事件,例如滑动。特别是,依赖于自定义触摸侦听器的控件的任何方面都可能被捕获触摸交互的AT完全打破。