thuytrinh / Android Collage Views
Draggable, rotatable, and scalable views for Android
Stars: ✭ 321
Programming Languages
java
68154 projects - #9 most used programming language
android-collage-views
Introduction
"A video is worth a million words" Watch the demo here
(Note: Work only with API 11+)
Usage
-
Create a parent view having
splitMotionEvents
enabled, and having child views as below:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:splitMotionEvents="true"> <ImageView android:id="@+id/collageBgView" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="#FFD4B081" /> <com.thuytrinh.android.collageviewsdemo.CollageView android:id="@+id/collageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:src="@drawable/daffodils" /> <com.thuytrinh.android.collageviewsdemo.CollageView android:id="@+id/collageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:src="@drawable/green" /> <com.thuytrinh.android.collageviewsdemo.CollageView android:id="@+id/collageView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:src="@drawable/hawaii" /> <com.thuytrinh.android.collageviewsdemo.CollageView android:id="@+id/collageView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:src="@drawable/sunset" /> </RelativeLayout>
-
Find the child views and assign
MultiTouchListener
:findViewById(R.id.collageView1).setOnTouchListener(new MultiTouchListener()); findViewById(R.id.collageView2).setOnTouchListener(new MultiTouchListener());
-
By default, translating, scaling, and rotating are enabled. However, if you want a child view not to be scaled but translated or rotated only, toggling
isScaleEnabled
,isTranslateEnabled
,isRotateEnabled
appropriately will do the trick.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].