''[[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]]''

Front page   Edit Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes