libro
www.tuyano.com
Google androidプログラミング入門

GUI、再び! (5/7)

作成:2010-06-17 12:53
更新:2010-06-17 12:57

■タッチして操作するには?

Androidは、指先で画面をタッチして操作します。この「画面をタッチして操作」というのも、自分のアプリで使えるようになると便利そうですね。

画面をタッチした時のイベント処理は、実を言えばActivityクラス自身に最初から組み込まれています。イベント処理用のメソッドを設置するだけで、タッチした処理を作成することができるのです。それは以下のようなメソッドです。
@Override
public boolean onTouchEvent(MotionEvent event) {
    ……タッチ時の処理……
}
引数には、ユーザー操作関係のイベント情報を管理する「MotionEvent」というクラスが渡されます。ここからイベントに関する情報を取得することができます。例えば、タッチした位置は、「getX」「getY」というメソッドで取得できます。

実際に簡単なサンプルをあげておきましょう。これは、画面をタッチすると、タッチした位置をトーストで表示するサンプルです。onTouchEventでMotionEventから位置の情報を取り出し、Toastで表示しているのがわかるでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package jp.tuyano;

import android.app.*;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.*;

public class SampleApp extends Activity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
	}

	@Override
	public boolean onTouchEvent(MotionEvent event) {
		float x = event.getX();
		float y = event.getY();
		Toast toast = Toast.makeText(this,"X: " + x + "\nY: " + y,
				Toast.LENGTH_LONG);
		toast.show();
		return false;
	}
	
}

※関連コンテンツ

「Google androidプログラミング入門」に戻る