Androidタッチイベントをどのように設定するか
Androidではリスナーの設定によってタッチイベントを処理できます。以下はタッチイベントを処理するための一般的な手順です。
- タッチイベントを処理するビューオブジェクトを取得します。
- そのViewオブジェクトにタッチイベントリスナーを設定する。
- タッチイベントリスナー内で、対応するイベント処理メソッドを実装する。
例えば、簡単に以下の例でタッチイベントリスナーを設定し、タッチイベントを捕捉する様子を示します。
// 获取要处理触摸事件的View对象
View touchView = findViewById(R.id.touch_view);
// 为touchView设置触摸事件监听器
touchView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// 处理触摸事件
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 处理按下事件
break;
case MotionEvent.ACTION_MOVE:
// 处理移动事件
break;
case MotionEvent.ACTION_UP:
// 处理抬起事件
break;
}
// 返回true表示已处理该触摸事件,返回false表示继续传递给其他监听器处理
return true;
}
});
上の例では、まずfindViewByIdメソッドで「touch_view」という名前のViewオブジェクトを取得し、このViewオブジェクトにタッチイベントリスナーを設定します。タッチイベントリスナーのonTouchメソッドでは、タッチイベントの異なるアクション(action)に応じて、対応する処理を行うことができます。
なお、trueを返すとタッチイベント処理済、falseを返すと他のリスナーへ継続的に処理を伝搬する。