2014-12-22 3 views
0

내 코드는 textView의 위치를 ​​변경하는 것입니다 .. 나는 검색 엔진에서 그것을 검색하고 다음 코드를 발견하고 올바르게 .java에 썼습니다.텍스트 위치를 변경하려면

내 질문이 코드의 논리는 무엇입니까? 3/2 및 1/2을 사용하는 논리는 무엇입니까? 3/2를 사용하는 이유는 무엇입니까?

 tvView.setOnTouchListener(new OnTouchListener(){ 

     @Override 
     public boolean onTouch(View arg0 , MotionEvent arg1) { 
      switch (arg1.getAction()) 
      { 
      case MotionEvent.ACTION_DOWN : 
       moving = true ; 
       break ; 
      case MotionEvent.ACTION_MOVE : 
       if (moving) 
       { 
        x = arg1.getRawX()- tvView.getWidth()/2 ; 
        y = arg1.getRawY() - tvView.getHeight() * 3/2 ; 
        tvView.setX(x) ; 
        tvView.setY(y) ; 

       } 
       break ; 

      case MotionEvent.ACTION_UP : 
      moving = false ; 
       break ; 
      } 
    return true; 
    } 
}); 

답변

0

나는/당신이 화면을 터치 위치를 텍스트의 길이가 3으로 2로 나눈 있기 때문에,이 텍스트의 중심을 이동되도록/2를 수 있으리라 믿고있어 2, 나는 당신이 만지고있는 곳에서 텍스트를 조금 더 낮추라고 가정합니다. y 위치에 길이의 3/2를 곱하기 때문입니다. 나는 그것이 당신이 텍스트를 움직이고있는 곳을 정확하게 볼 수 있도록 이것을한다고 가정하고 있습니다.

관련 문제