2016-09-06 5 views
0

ユーザーがダブルクリックを使用すると、カスタムダイアログボックスを開くためにアプリケーションの一部を実装しようとしています。DoubleClickとLongClickを同時に使用する

実現目標はLong Clickが実行され、ユーザーがビューを移動できるときにOnTouchClickを取得することです。

ここで、Action Upに直面し、ユーザーがビューをドロップすると、という値が返され、Double Clickを再度使用します。しかし、私がFalseの値を返したとしても、問題はDouble Clickが利用できません。

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 
      } 

答えて

0

このexampleをご覧ください。

彼らは持っていたlongpressための方法およびdoubleTap (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; 
    } 
関連する問題