点按并移动2个维度

时间:2013-01-04 00:02:37

标签: android

我需要创建一个用户可以点按的窗口。我需要知道用户何时开始敲击,停止敲击,如果用户移动他的手指保持按下,以及他轻敲的确切坐标,以及他正在移动手指的位置,实时。 我无法理解哪种小部件最适合这种活动:有人可以给我一个提示吗? 感谢。

1 个答案:

答案 0 :(得分:1)

附加View的任何ViewGroup(包括任何OnTouchListener)都可以满足您的需求。在ACTION_DOWN事件中,您可以记录点击发生的位置;在ACTION_MOVE事件中,您可以获取当前指针位置的坐标。

只需将OnTouchListener附加到您的视图并相应处理:

View view = findViewById(R.id.my_view);
view.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent event) {
        switch(event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                float xTap = event.getX();
                float yTap = event.getY();
                break;
            case MotionEvent.ACTION_MOVE:
                float xMovement = event.getX();
                float yMovement = event.getY();
                break;
        }
    }
}