Selasa, 22 Juli 2014

Manangani input pada Android View

Post ini dalam rangka :D melanjutkan post terdahulu, yaitu menggambar pada Android View.
Pastikan Anda sudah menguasai atau membuat project tersebut untuk melanjutkan pada bagian ini.

Berikut adalah cara menangani input pada Android View.

[....] Sambungan dari Menggambar pada Android View

1. Tambahkan method onTouchEvent pada MyView

public boolean onTouchEvent(MotionEvent event) {
    int eventaction = event.getAction();
    int X = (int) event.getX(); //tangkap koordinat X pada saat layar disentuh
    int Y = (int) event.getY(); //tangkap koordinat Y pada saat layar disentuh
  
    switch(eventaction) {
        case MotionEvent.ACTION_DOWN:
     break;
   
        case MotionEvent.ACTION_MOVE:
     break;
    
        case MotionEvent.ACTION_UP:
     break;
    }
    invalidate();
    return true;
}

Sebenarnya skeleton dari onTouchEvent adalah hal ini. Anda bisa copy paste pada setiap project yang Anda buat.

2. Sekarang tambahka beberapa variabel agar lingkaran hijau dapat bergerak sesuai dengan event yang kita inginkan

public boolean onTouchEvent(MotionEvent event) {
    int eventaction = event.getAction();
    int X = (int) event.getX(); //tangkap koordinat X pada saat layar disentuh
    int Y = (int) event.getY(); //tangkap koordinat Y pada saat layar disentuh
  
    switch(eventaction) {
        case MotionEvent.ACTION_DOWN:
            break;
   
        case MotionEvent.ACTION_MOVE:
            circleX = X;
            circleY = Y;
            break;
    
        case MotionEvent.ACTION_UP:
            break;
    }
    invalidate();
    return true;
}

Pada contoh diatas, kita menempatkan posisi lingkaran hijau pada event ACTION_MOVE sehingga lingkaran ikut bergerak kemanapun jari kita bergerak pada layar.