タッチイベントの実装方法・応用編|Android開発

      2017/02/09

前記事」では基本的なタッチイベントの実装方法について記述しました。
本記事では、応用編として実際にタッチイベントを処理するサンプルを記述します。

サンプルソース

以下のサンプルはImageViewに表示した画像を実際の2倍(MAX_SCALEで指定)まで拡大表示させるプログラムです。

準備

xxxx_img(ImageView)はレイアウトでサイズにwrap_contentを指定します。

setScaleType(ImageView.ScaleType.MATRIX)をコールしないと、Matrixによる変形が効きません。

ダブルタップリスナ

タッチイベントリスナ

ピンチイベントリスナ

移動先の補正

上記サンプルはタッチ処理のみに焦点を当てています。実際は画像の位置などを調整する必要があると思います。
その場合は、上記サンプルコードの// correct付近でMatrixの補正を行います。

補正処理のサンプルソース

適用後のMatrixの値を見て、補正が必要な場合は補正後の値を直接セットしています。

 - Android