Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
48
Help us understand the problem. What is going on with this article?
@satoshinew

【Android】移動・回転・拡縮できるView

More than 5 years have passed since last update.

を作ってみました。

ソースコードは git に上げています。
サンプルプロジェクトとライブラリプロジェクトに分かれています。
これでスタンプ機能みたいなのが簡単に作れます。

ただし、Android4.0以上限定です、ごめんなさい。

まだ ImageView しかありません。
機能コピペすれば他のViewでもそのまま使えそうなので、そのうちTextViewとかも追加するつもりです。
扱いは普通の ImageView と変わりません。

対応ジェスチャ

以下3つのジェスチャーに対応しています。
1. ドラッグ(DragGestureDetector.java)
2. 2本指回転(RotateGestureDetector.java)
3. ピンチイン・ピンチアウト(PinchGestureDetector.java)

Android既存のジェスチャ取得機構が全くもって役に立たないので、それぞれDetectorを自作しています。

導入

  1. ライブラリプロジェクトをインポートするか gesturetransformableview.jarを直接libsに突っ込んで下さい。
  2. GestureTransformableImageViewを使うだけ!

xmlで宣言する場合は

 <jp.ogwork.gesturetransformableview.view.GestureTransformableImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/画像の名前" >

直接書いちゃう人は

ドラッグ・回転・拡縮全部有りはデフォルトでOK
 GestureTransformableImageView gestureImageView = new GestureTransformableImageView(context);

その他機能

  • 拡大縮小の制限

デフォルトでMAX270% / MIN 50% で設定されていますが、
setLimitScaleMax() / setLimitScaleMin() で設定可能です。

  • 対応ジェスチャを選ぶ
ドラッグと拡縮だけで良いよ、っていう人は
 GestureTransformableImageView gestureImageView = new GestureTransformableImageView(context,
                GestureTransformableImageView.GESTURE_DRAGGABLE |
                GestureTransformableImageView.GESTURE_SCALABLE );

デフォルトはドラッグ・回転・拡縮すべて有効ですが、部分指定も出来ます。
上に GestureTransformableImageView.GESTURE_ROTATABLE も同様にOR( | )で加えれば、回転にも対応になります。

48
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
satoshinew
ほそぼそAndroid

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
48
Help us understand the problem. What is going on with this article?