Java 反方向
我有一个Java 反方向,java,android,gridview,touch,Java,Android,Gridview,Touch,我有一个GirdView和一个onTouchListener,我想知道当有人用手指在屏幕上滑动时的方向,我可以很容易地左右移动,但我也想上下移动 但我的问题是 float currentX; float currentY; @Override public boolean onTouch(View v, MotionEvent event) { float x = event.getX();
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;
}
浮点电流x;
浮动电流;
@凌驾
公共布尔onTouch(视图v,运动事件){
float x=event.getX();
float y=event.getY();
开关(event.getAction()){
case MotionEvent.ACTION\u DOWN:
Log.d(“Showpatch”,“向下触发”+x+,“+y”);
电流x=x;
电流y=y;
打破
case MotionEvent.ACTION\u UP:
Log.d(“Showpatch”、“向上触发”+x+、“+y”);
Log.d(“Showpatch”,“测试左…”+x+,“+y”);
如果(当前x>x){
Log.d(“Showpatch”,“左移”);
返回false;
}
Log.d(“Showpatch”,“测试权…”+x+,“+y”);
如果(电流x
正如我所说,它可以左右移动,没有任何问题,但它从来没有检测到向上或向下,因为它在到达向上/向下语句之前触发左/右,除非你将手指准确地向上和向下移动,否则它不起作用
有没有一种方法可以让用户在任何地方上下滑动
非常感谢您的帮助。我相信手势听者可以帮助您,它是在1.6中引入的 干杯 托拜厄斯