0

好的...在我的应用程序中,我更新了 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;
        }
    });

}
4

1 回答 1

0

只需尝试以false您的onTouch(...)方法返回并onLongClickListener(...)照常使用

于 2013-01-21T15:00:11.897 回答