0

我正在学习如何制作 android 应用程序,但我不知道如何在 android 中实现一种 OnMouseMoved 事件。

我试过使用 OnTouchListener,但是当我触摸、按住和移动时它不会更新。只有当我点击不同的点时它才会更新。像这样:

public boolean onTouch(View v, MotionEvent event) {
    int x = (int) event.getX();
    thread.getGameState().touch(x);
    return false;
}

我试过这个

@Override
public boolean onTouch(View v, MotionEvent event) {
    int x = (int) event.getX();
    if(event.getAction() == MotionEvent.ACTION_MOVE) {
        thread.getGameState().touch(x);
    }
    return false;
}

但这甚至根本没有响应触摸,也许我从事件中得到的点是旧点,而不是新的拖动点?

thread.getGameState().touch(x);设置和对象的 x 值,这应该使它像拖动一样。

4

1 回答 1

0

您必须返回 trueonTouch()以告诉 Android 您将处理完整的触摸事件,这样您就可以在之后接收事件ACTION_DOWN

@Override
public boolean onTouch(View v, MotionEvent event) {
    int x = (int) event.getX();
    if(event.getAction() == MotionEvent.ACTION_MOVE) {
        thread.getGameState().touch(x);
    }
    return true;
}
于 2013-04-30T09:42:07.270 回答