手机开发指南 > Android > Touch Event
タッチイベント †
・onTouchEvent()を用いてタッチ時のイベントを検出する
・UP, DOWN, MOVE, CANCELなどのイベントが取得可能
・getX()、getY()でタッチしたx、y座標を取得する
・android:clickable = setClickable(true)が必要とのこと
※onMotionEvent は onTouchEventに変わったらしい。
ダブルタップを検出するには
GestureDetector.OnDoubleTapListenerインターフェースを使う
タッチイベント
MotionEvent.ACTION_DOWN | タッチしたとき |
MotionEvent.ACTION_UP | タッチが離れたとき |
MotionEvent.ACTION_MOVE | タッチしながら移動したとき |
MotionEvent.ACTION_CANCEL | タッチがキャンセルされたとき |
MotionEvent.ACTION_OUTSIDE | タッチがターゲット外を押下したとき |
タッチ関連の関数
getX() , getY() | タッチされてたX,Y座標取得 |
getAction() | タッチイベントのアクション取得 |
getDownTime() | 押されていた時間(ms単位)取得 |
getEdgeFlags() | スクリーン端判定取得 |
getSize() | タッチされている範囲、サイズ(推定)取得 |
getEventTime() | タッチされていた継続時間(ms単位)取得 |
getPressure() | タッチされた圧力取得 |
ソース例 †
@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);
}
タッチ関係の参考HP †
参考 - タッチイベント - モグラ叩き
参考 - ロングタップ
参考 - ソフトウェア技術ドキュメントを勝手に翻訳
参考 - タッチアプリの作り方
参考 - タッチの特性
参考 - んパカさんのHP
参考 - Secret Sword!!さんのページ - Androidでドラッグできる画像を作りたい
戻る