''[[MobileApp>Mobile Application Guide]]'' > ''[[Android>Introduction to Android]]'' > ''Touch Event'' ~ *Touch Evnet [#z28c057b] ・onTouchEvent()を用いてタッチ時のイベントを検出する~ ・UP, DOWN, MOVE, CANCELなどのイベントが取得可能~ ・getX()、getY()でタッチしたx、y座標を取得する~ ・android:clickable = setClickable(true)が必要とのこと~ ※onMotionEvent は onTouchEventに変わったらしい。 ダブルタップを検出するには~ GestureDetector.OnDoubleTapListenerインターフェースを使う ~ CENTER:''Touch Evnet'' | MotionEvent.ACTION_DOWN | タッチしたとき | | MotionEvent.ACTION_UP | タッチが離れたとき | | MotionEvent.ACTION_MOVE | タッチしながら移動したとき | | MotionEvent.ACTION_CANCEL | タッチがキャンセルされたとき | | MotionEvent.ACTION_OUTSIDE | タッチがターゲット外を押下したとき | ~ CENTER:''Function that relates to touch'' | getX() , getY() | タッチされてたX,Y座標取得 | | getAction() | タッチイベントのアクション取得 | | getDownTime() | 押されていた時間(ms単位)取得 | | getEdgeFlags() | スクリーン端判定取得 | | getSize() | タッチされている範囲、サイズ(推定)取得 | | getEventTime() | タッチされていた継続時間(ms単位)取得 | | getPressure() | タッチされた圧力取得 | ~ ~ **Example of Android's source [#k071d076] @Override public boolean onTouchEvent(MotionEvent event) { switch ( event.getAction() ) { //タッチした case MotionEvent.ACTION_DOWN: break; //タッチしたまま移動 case MotionEvent.ACTION_MOVE: break; //タッチが離れた case MotionEvent.ACTION_UP: break; //タッチがキャンセルされた case MotionEvent.ACTION_CANCEL: break; } //タッチした際のx座標 x = (int) event.getX(); //タッチした際のy座標 y = (int) event.getY(); return super.onTouchEvent(event); } ~ ~ ''[[Back>Introduction to Android]]''