通常在android中我们所做的是我们获得对视图的引用,然后设置click listener,然后做一个函数。我想做的是,有很多手势(触摸,长触摸等)作为参数传递给方法,并根据传递的手势触发函数。
像这样:
public void doSomething(Event event, View view){
...do something
//if its onClick event that passed do something will trigger once user clicks it
//if its onLongClick event, the method will trigger for the onLongTap event
}
我不知道如何做到这一点。任何帮助都会很感激。:)
你可以实现onTouch
,你会有这样的东西:
public class YourView extends View implements View.OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
//Here you can check for which movement is being made on a switch pattern.
//You can also call any gesture detector you might have
mScaleDetector.onTouchEvent(event);
mRotationDetector.onTouchEvent(event);
mGestureDetector.onTouchEvent(event);
final int action = MotionEventCompat.getActionMasked(ev);
switch (action) {
case MotionEvent.ACTION_DOWN:
//Do stuff;
break;
case MotionEvent.ACTION_MOVE:
//Do stuff;
break;
case MotionEvent.ACTION_UP:
//Do stuff;
break;
return false;
}
}
我建议你阅读关于手势检测的文档,他们给了你一些如何实现这个的例子。