Android:在MotionEvent.ACTION_MOVE时长按Button

时间:2013-01-21 14:55:43

标签: android button ontouchlistener motionevent

好的...在我的应用程序中我更新MotionEvent.ACTION_DOWN上的布局,然后检查运动事件坐标以找到我的按钮。当手指放在不同的按钮上时,我可以出示祝酒词。问题是我需要长时间触摸我的按钮来调用另一个动作而不与MotionEvent.ACTION_UP发生冲突。实现了一个长按处理程序,但因为我没有“点击”它不起作用。希望你们明白我的问题。

什么是让我的应用按预期工作的最佳方式?

我的类实现了OnTouchListener,OnGestureListener

    @Override
public boolean onTouch(View v, MotionEvent event) {

    switch(event.getAction()){

    case MotionEvent.ACTION_DOWN:

        // UPDATE LAYOUT
            break;

        case MotionEvent.ACTION_UP:

        // GET BUTTON X Y           
            if (x and y match the button location){

                // DO ACTION

            }else{   

                // DO NOTHING

            }           
            // CHANGE LAYOUT TO INITIAL STATE   
            break;

        case MotionEvent.ACTION_MOVE:
            break;

    }

        return false;


     mybutton.setOnLongClickListener(new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
                // DO STUFF
            return true;
        }
    });

}

1 个答案:

答案 0 :(得分:0)

尝试在false方法中返回onTouch(...)并照常使用onLongClickListener(...)