当我按下按钮的手指并将其移动到按钮的界限外时,onTouchListener
继续触发。Android按钮onTouchListener触发外部界限
当我按下按钮上的一个手指和按钮外的另一个手指时,会发生同样的事情:我的onTouchListener
会触发第二根手指。
我该如何避免这种情况?只有当我按下按钮的边界时,我才会触发我的onTouchListener
。
这是我onTouchListener
实施
View.OnTouchListener onTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (fingerDown) {
xHistoricalFirstFinger = (int) event.getX();
yHistoricalFirstFinger = (int) event.getY();
xFirstClick = xHistoricalFirstFinger;
yFirstClick = yHistoricalFirstFinger;
//counter++;
fingerDown = false;
}
x = (int) event.getX();
y = (int) event.getY();
Log.v("Touched", client.remoteAdress.toString());
mouseMoveProvider.nextX = x - xHistoricalFirstFinger;
mouseMoveProvider.nextY = y - yHistoricalFirstFinger;
mouseMoveProvider.Ready = true;
xHistoricalFirstFinger = x;
yHistoricalFirstFinger = y;
if (event.getAction() == MotionEvent.ACTION_UP) {
if (x - xFirstClick == 0 & y - yFirstClick == 0) {
new Thread(new Runnable() {
@Override
public void run() {
try {
client.MakeMove();
} catch (IOException e) {
e.printStackTrace();
NetworkListener.HandleNetworkIsUreachableException(context);
}
}
}).start();
}
fingerDown = true;
}
return true;
}
};
分享您的触摸监听器实现。任何不使用点击监听器的原因? – Shaishav
不,我只需要触摸监听器 – Kotelnikov