2017-06-16 13 views
0

アンドロイドのタッチリスナーで編集テキストがどのように垂直方向に移動するのか分かりますか?edittextは垂直方向にのみ移動しますandriod

ここで私はそれが垂直に動きますが、正確には私の指の動きではありません。ちらつきがあり、編集テキストビューから離れたところに正しく配置されていません

x=event.getX(); 
      y=event.getY(); 

      switch (event.getAction()) 
      { 
       case MotionEvent.ACTION_MOVE: 
        /*movabletext.setY(y);*/ 
        break; 

       case MotionEvent.ACTION_UP: 

        movabletext.setY(y); 

        break; 
       case MotionEvent.ACTION_DOWN: 
        movabletext.setY(y); 

        break; 

      } 


      return true; 
     } 

答えて

1

質問が正確に理解できない場合があります。しかし、編集テキストを垂直方向にのみ移動させたい場合は、すべてのプレスでxを定数に設定するだけです。

多分これ

x=event.getX(); 
     y=event.getY(); 

     switch (event.getAction()) 
     { 
      case MotionEvent.ACTION_MOVE: 
       /*movabletext.setY(y);*/ 
       break; 

      case MotionEvent.ACTION_UP: 
       movabletext.setY(y); 
       movabletext.setX(CONSTANT); 

       break; 
      case MotionEvent.ACTION_DOWN: 
       movabletext.setY(y); 
       movabletext.setX(CONSTANT); 

       break; 

     } 


     return true; 
    } 
+0

のようなものは、それは上下動されるが、それは点滅しています。これまでに編集テキストに触れると、画面の上から始まり、必要な場所に配置されます。私は編集テキストが私の指に従う必要がある滑らかなタッチイベントが欲しい。それはイメージのスナップチャットのテキストのようなものです –

+0

私はいくつかのことをテストすることができ、病気が私に何が起こっているかを知らせるために私はカップル時間を与えます。申し訳ありませんが、私は今のところもっと助けません。 – Shawnzey

+0

助けてもらえてよかった!!!!!!!! –

0
     switch (event.getAction()) { 
          case MotionEvent.ACTION_DOWN: { 
           startClickTime = 
           Calendar.getInstance().getTimeInMillis(); 
           break; 
          } 
          case MotionEvent.ACTION_MOVE: { 
           if (clickDuration > MAX_CLICK_DURATION) 
           { 
            if (currX < widthScreen && currY < 
            heightScreen) { 
             ViewGroup.MarginLayoutParams 
             marginParams = new 
            ViewGroup.MarginLayoutParams 
            (view.getLayoutParams()); 
             marginParams.setMargins((int) 
           (currX - mPrevX), (int) (currY - 
           mPrevY), 0, 0); 
             RelativeLayout.LayoutParams 
           layoutParams = new 
           RelativeLayout.LayoutParams(marginParams); 

           view.setLayoutParams(layoutParams); 
            } 
           } 
           break; 
          } 
          case MotionEvent.ACTION_UP: { 
          } 
関連する問題