我有一个 GirdView
和一个 onTouchListener
,我想知道当有人在屏幕上滑动手指时的方向,我可以轻松地左右移动, 但我也想爬上爬下。
但我的问题是..
float currentX;
float currentY;
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
float y = event.getY();
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.d("Showpatch", "Down Triggered " + x + ", " + y);
currentX = x;
currentY = y;
break;
case MotionEvent.ACTION_UP:
Log.d("Showpatch", "Up Triggered" + x + ", " + y);
Log.d("Showpatch", "Testing Left... " + x + ", " + y);
if (currentX > x) {
Log.d("Showpatch", "Moved Left");
return false;
}
Log.d("Showpatch", "Testing Right... " + x + ", " + y);
if (currentX < x) {
Log.d("Showpatch", "Moved Right");
return false;
}
Log.d("Showpatch", "Testing Down... " + x + ", " + y);
if (currentY < y) {
Log.d("Showpatch", "Moved Down");
return false;
}
Log.d("Showpatch", "Testing Up... " + x + ", " + y);
if (currentY < y) {
Log.d("Showpatch", "Moved Up");
return false;
}
break;
}
return false;
}
正如我所说,它可以毫无问题地向左和向右移动,但它永远不会检测到向上或向下,因为它在到达向上/向下语句之前会触发向左/向右,除非您将手指准确地向上和向下移动它不会工作...
有没有办法让用户向上或向下滑动到哪里?
非常感谢任何帮助,谢谢。
最佳答案
我相信 Gesture Listener 可以帮助你,它是在 1.6 中引入的
http://developer.android.com/resources/articles/gestures.html
干杯 托拜厄斯
关于java - 触摸方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6398880/