2013-06-07 6 views
1

У меня есть пример, который я собираю из Интернета.Android ontouch пример

public class MprojectActivity extends Activity { 
    /** Called when the activity is first created. */ 
    ImageView itan2; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 


     itan2=(ImageView)findViewById(R.id.imageView18); 

     itan2.setOnTouchListener(new OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       // TODO Auto-generated method stub 


      if(event.getAction()==MotionEvent.ACTION_MOVE){ 

       RelativeLayout.LayoutParams mParams = (RelativeLayout.LayoutParams) itan2.getLayoutParams(); 

        int x =(int) event.getRawX(); 
        int y =(int) event.getRawY(); 

        mParams.leftMargin = x-236; 
        mParams.topMargin = y-565; 
        itan2.setLayoutParams(mParams); 


      }  
       return true; 
      } 
     }); 

        } 

} 

В этом примере я вычесть 236 и 565 с й и y.What имеют эти значения actually.how, чтобы найти их с помощью динамического кодирования?

ответ

0

Я не уверен, что я понимаю ваш вопрос, пожалуйста, отредактируйте его. Если вы хотите узнать что-то больше о getRawX и getRawY, пожалуйста, посмотрите на http://developer.android.com/reference/android/view/MotionEvent.html, который говорит:

общественности окончательное поплавок getRawX()

Добавлено в уровне API 1 Возвращает Исходным X координату этого событие. Для событий касания на экране это исходное местоположение события на экране, прежде чем оно было скорректировано для , содержащего окна и виды.

То же самое для getRawY()

+0

Я должен знать значение, которое я вычитаться (236565) .Что я вычитаю из х и у. и каковы эти значения на самом деле. – 7asif7

+0

Ну, есть много способов, как вы могли его архивировать. Например, вы можете показывать эти значения на экране с помощью Toast. Вы можете использовать отладчик и установить точку останова на этой строке и т. Д. – Marek

+0

Но я должен писать динамически ... не статически. – 7asif7

1

Он используется для создания относительного макета, нет ничего сложного об этом, это действительно просто.

x-236 означает, что вы устанавливаете точку на оси x на расстоянии 236 от левого верхнего края экрана. y-565 означает, что вы устанавливаете точку на оси y 565 в левой части экрана.

с помощью этих двух значений и левого верхнего значения (0,0) вы создаете макет, чтобы показать изображение (которое itan2 в данном примере)