Java 在Android中创建接口
有人能告诉我最好的方法吗?我想制作一个扩展Java 在Android中创建接口,java,android,interface,ontouchlistener,Java,Android,Interface,Ontouchlistener,有人能告诉我最好的方法吗?我想制作一个扩展到TouchListener的接口。而不是一个叫做onTouch(View-View,MotionEvent e)的方法我想要3个方法onPress()onMove()和onRelease()。当您在屏幕上按时,会调用onPressmeathod;当您在屏幕上移动手指时,会调用onMoveonRelease在您松开手指时被调用。欢迎提供所有相关答案。您可以使用duffymo提供的YourTouchListener,方法是扩展视图类,并在此类中添加setY
到TouchListener
的接口。而不是一个叫做onTouch(View-View,MotionEvent e)的方法
我想要3个方法onPress()
onMove()
和onRelease()
。当您在屏幕上按时,会调用onPress
meathod;当您在屏幕上移动手指时,会调用onMove
onRelease
在您松开手指时被调用。欢迎提供所有相关答案。您可以使用duffymo提供的YourTouchListener
,方法是扩展视图
类,并在此类中添加setYourTouchListener(YourTouchListener)
方法
然后重写onTouchEvent(MotionEvent)并调用侦听器的相关方法。像这样:
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
listener.onPress(this, event);
break;
case MotionEvent.ACTION_MOVE:
listener.onMove(this, event);
break;
case MotionEvent.ACTION_UP:
listener.onRelease(this, event);
break;
}
//this means that you have "used" this event. The ViewGroup will direct all further associated events straight here.
return true;
}
您可以使用duffymo提供的
YourTouchListener
,方法是扩展视图
类,并向该类添加setYourTouchListener(YourTouchListener)
方法
然后重写onTouchEvent(MotionEvent)并调用侦听器的相关方法。像这样:
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
listener.onPress(this, event);
break;
case MotionEvent.ACTION_MOVE:
listener.onMove(this, event);
break;
case MotionEvent.ACTION_UP:
listener.onRelease(this, event);
break;
}
//this means that you have "used" this event. The ViewGroup will direct all further associated events straight here.
return true;
}
您可以使用
GestureListener
和onFling(…)
方法,这使您能够(MotionEvent e1
和MotionEvent e2
)测量初始触摸(按下)和最终触摸(释放),并在此基础上完成您的工作。还提供沿x轴和y轴的运动事件的速度
,测量屏幕上施加的压力等。这将缩短您编写整个界面的时间。您可以使用手势监听器
和onFling(…)
方法,这为您提供了可能性(MotionEvent e1
和MotionEvent e2
)测量初始触摸(按下)和最终触摸(释放)基于此,您可以完成您的工作。还可以沿x轴和y轴提供运动事件的速度
,测量屏幕上施加的压力,等等。这将减少您编写整个界面的时间。我可能会按照CaspNZ发布的基本操作,唯一的区别是您不应该扩展dOnTouchListener
在本例中。实现一个接口意味着您必须为它的所有方法提供一个实现,因此在本例中,除了您正在创建的三个方法之外,onTouch
是多余的。当然,如果您仍然需要onTouch
,您可以ays实现OnTouchListener
除了YourTouchListener
我可能会做CaspNZ发布的基本工作,唯一的区别是在这种情况下你不应该扩展OnTouchListener
。实现一个接口意味着你必须为它的所有方法提供一个实现ds,因此在本例中,除了您正在创建的三个之外,onTouch
是多余的。当然,如果您仍然需要onTouch
来完成某些事情,那么除了YourTouchListener之外,您始终可以实现OnTouchListener
,也许您所需要的只是@parkovski所拥有的一个很好的观点-与其扩展OnTouchListener,不如用你想要的方法创建你自己的接口。@parkovski有一个很好的观点-与其扩展OnTouchListener,不如用你想要的方法创建你自己的接口。