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发布的基本操作,唯一的区别是您不应该扩展d
OnTouchListener
在本例中。实现一个接口意味着您必须为它的所有方法提供一个实现,因此在本例中,除了您正在创建的三个方法之外,
onTouch
是多余的。当然,如果您仍然需要
onTouch
,您可以ays实现
OnTouchListener
除了
YourTouchListener
我可能会做CaspNZ发布的基本工作,唯一的区别是在这种情况下你不应该扩展
OnTouchListener
。实现一个接口意味着你必须为它的所有方法提供一个实现ds,因此在本例中,除了您正在创建的三个之外,
onTouch
是多余的。当然,如果您仍然需要
onTouch
来完成某些事情,那么除了
YourTouchListener

之外,您始终可以实现
OnTouchListener
,也许您所需要的只是@parkovski所拥有的一个很好的观点-与其扩展OnTouchListener,不如用你想要的方法创建你自己的接口。@parkovski有一个很好的观点-与其扩展OnTouchListener,不如用你想要的方法创建你自己的接口。