GUI、再び! (5/7)
作成:2010-06-17 12:53
更新:2010-06-17 12:57
更新:2010-06-17 12:57
■タッチして操作するには?
Androidは、指先で画面をタッチして操作します。この「画面をタッチして操作」というのも、自分のアプリで使えるようになると便利そうですね。
画面をタッチした時のイベント処理は、実を言えばActivityクラス自身に最初から組み込まれています。イベント処理用のメソッドを設置するだけで、タッチした処理を作成することができるのです。それは以下のようなメソッドです。
実際に簡単なサンプルをあげておきましょう。これは、画面をタッチすると、タッチした位置をトーストで表示するサンプルです。onTouchEventでMotionEventから位置の情報を取り出し、Toastで表示しているのがわかるでしょう。
画面をタッチした時のイベント処理は、実を言えばActivityクラス自身に最初から組み込まれています。イベント処理用のメソッドを設置するだけで、タッチした処理を作成することができるのです。それは以下のようなメソッドです。
@Override引数には、ユーザー操作関係のイベント情報を管理する「MotionEvent」というクラスが渡されます。ここからイベントに関する情報を取得することができます。例えば、タッチした位置は、「getX」「getY」というメソッドで取得できます。
public boolean onTouchEvent(MotionEvent event) {
……タッチ時の処理……
}
実際に簡単なサンプルをあげておきましょう。これは、画面をタッチすると、タッチした位置をトーストで表示するサンプルです。onTouchEventでMotionEventから位置の情報を取り出し、Toastで表示しているのがわかるでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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; } }
※関連コンテンツ