Commentピンチインとピンチアウトによって画像を拡大縮小させたいときはScaleGestureDetectorを使うと便利である。今回はこのクラスの使い方を紹介する。始めに、サンプルアプリの画面を示す。画面の中央に青い四角が表示されている。これを、ピンチインとピンチアウトで拡大縮小できるようにする。それでは、ソースコードを示す。以下は、今回の処理を行うために作ったカスタムビューのソースコードである。このビューの処理概要は以下の通り。コンストラクタでScaleGestureDetectorのインスタンスを作る。第2引数でOnScaleGestureListenerを継承したクラスを渡している。このクラスのオーバーライドメソッドであるonScale(),onScaleBegin(),onScaleEnd()に独自の実装を書くことによって、ピンチイン・ピンチアウトが行われたときの挙動を制御することができる。OnScaleGestureListener#onScale()はピンチイン・アウト動作が行われると、継続して呼び出される。getScaleFactor()は前回のonScale呼び出し時と今回のonScale呼び出し時のタッチの距離の比率である。この比率を描画倍率に掛け、画面を更新する。Viewの中心に現在の倍率で正方形を描画している。以上でピンチイン・アウトに対応して描画の拡大縮小を行う処理ができた。最後に、参考のため上記のカスタムビューをActivityで使うときのコード例を示す。コメントをキャンセルメールアドレスが公開されることはありません。