アンドロイドのタッチイベントを処理の方法
Androidでは、タッチイベントはViewクラスのonTouchEventメソッドをオーバーライドすることで処理できます。
最初にあなたのカスタムViewクラスでonTouchEventメソッドをオーバーライドします。
public class MyView extends View {
@Override
public boolean onTouchEvent(MotionEvent event) {
// 处理触摸事件逻辑
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 按下事件
break;
case MotionEvent.ACTION_MOVE:
// 移动事件
break;
case MotionEvent.ACTION_UP:
// 抬起事件
break;
}
return true;
}
}
その後、イベントハンドラの中でご自身のロジックを追加できます。例えば、ACTION_DOWNイベントではタッチの座標を取得できます。
case MotionEvent.ACTION_DOWN:
float x = event.getX();
float y = event.getY();
// 处理按下事件的逻辑
break;
またアクション移動イベント中でドラッグの機能を実現することもできます。
case MotionEvent.ACTION_MOVE:
float x = event.getX();
float y = event.getY();
// 处理移动事件的逻辑
break;
タッチ終了後の処理論理は、ACTION_UPイベントで処理されます。
case MotionEvent.ACTION_UP:
// 处理抬起事件的逻辑
break;
なお、タッチイベントを処理したい場合はtrueを返さなければならず、falseを返すとイベントを処理せず、そのイベントはシステムによって他のビューに渡されます。