同时使用DoubleClick和LongClick

时间:2016-09-06 10:56:45

标签: android

我正在尝试实现应用程序的一部分,以便在用户使用双击时打开自定义对话框。

实施目标是在执行Long Click时获取 OnTouchClick ,用户可以移动视图。

现在,当我们面对Action Up并且用户放弃了视图时,它会返回False值,以便再次使用Double Click。但问题是在Double Click不可用之后,即使我返回False值。

namet = (TextView) findViewById(R.id.namet);
        namet.setOnTouchListener(new OnSwipeTouchListener(Main2Activity.this) {

            @Override
            public void onClick() {
                super.onClick();
           //     logo1();
                // your on click here
            }

            @Override

            public void onDoubleClick() {
                super.onDoubleClick();
                MaterialDialog md =new MaterialDialog.Builder(Main2Activity.this)


                        .customView(R.layout.alertlogo, true)

                        .cancelable(true)
                        .show();

            }

            @Override
            public void onLongClick() {



                namet.setOnTouchListener(new View.OnTouchListener() {
                    @Override
                    public boolean onTouch(View view, MotionEvent event) {

                        switch (event.getActionMasked()) {
                            case MotionEvent.ACTION_DOWN:
                                namet.setTextColor(Color.rgb(51, 51, 255));
                                xCoOrdinate = view.getX() - event.getRawX();
                                yCoOrdinate = view.getY() - event.getRawY();

                                break;
                            case MotionEvent.ACTION_MOVE:

                                //   isMoving = true;
                                view.animate().x(event.getRawX() + xCoOrdinate).y(event.getRawY() + yCoOrdinate).setDuration(0).start();
                                break;

                            case MotionEvent.ACTION_UP:



                                return false;


                            default:
                                return false;
                        }
                        return true;
                    }
                });




                // your on onLongClick here
            }

1 个答案:

答案 0 :(得分:0)

我认为您需要查看此example

他们有longpressdoubleTap (DoubleClick)

的方法
 @Override
  public void onLongPress(MotionEvent event) {
      gestureText.setText("onLongPress"); 
  }

  @Override
  public boolean onScroll(MotionEvent e1, MotionEvent e2, 
            float distanceX, float distanceY) {
      gestureText.setText("onScroll");
      return true;
  }

  @Override
  public void onShowPress(MotionEvent event) {
      gestureText.setText("onShowPress");
  }

  @Override
  public boolean onSingleTapUp(MotionEvent event) {
      gestureText.setText("onSingleTapUp");
      return true;
  }

  @Override
  public boolean onDoubleTap(MotionEvent event) {
      gestureText.setText("onDoubleTap");
      return true;
  }