这个仓库来自 [StickerView][https://github.com/wuapnjie/StickerView], 自己克隆了一份用于学习, 对于使用Matrix
进行几何变换和手势检测很有学习的意义. 我在原始仓库的基础上升级了gradle和agp的版本,引入了kotlin, 进行了一些注释, 代码格式化和案例代码的书写.
A view which can add sticker and zoom,drag,flip,delete it
I hope you can copy the source code to your project so you can design your own function.
Suggestion
copy the source code to your project so you can design your own function.
Tips:StickerView extends FrameLayout
<com.xiaopo.flying.sticker.StickerView
android:id="@+id/sticker_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center">
<!-- custom, maybe you will like to put an ImageView-->
<ImageView
android:src="@drawable/haizewang_2"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.xiaopo.flying.sticker.StickerView>
If the sticker is drawable, it's intrinsic width and height can not be zero. If the sticker is text, you can set text color, font and alignment and the region which holds the text.
stickerView.addSticker(sticker)
stickerView.replace(sticker)
stickerView.remove(sticker)
stickerView.removeCurrentSticker()
stickerView.removeAllStickers()
stcikerView.setLocked(true)
Also you can custom the icon and icon event and position
BitmapStickerIcon heartIcon =
new BitmapStickerIcon(ContextCompat.getDrawable(this, R.drawable.ic_favorite_white_24dp),
BitmapStickerIcon.LEFT_BOTTOM);
heartIcon.setIconEvent(new HelloIconEvent());
stickerView.setIcons(Arrays.asList(deleteIcon, zoomIcon, flipIcon, heartIcon));
- 2016/10/11 Add horizontal flip function.
- 2016/10/12 Add Lock function to disable handle stickers.
- 2016/11/30 Added text stickers which supports both text and image background. Thanks to taoliuh.
- 2016/12/02 Fixed the region of sticker bigger bug,and add more custom configure.
- 2016/12/03 Add more callback
- 2016/12/14 Add PhotoView support.
- 2016/12/15 Add remove methods.
- 2016/12/16 Add Double Tap Callback
- 2016/12/17 Add Constrain Sticker's move area
- 2017/02/07 Custom your icon and icon event
- 2017/04/25 Fix scale err and add more useful function
- Constrain the sticker's moving area
- Add Double Tap callback
Copyright 2016 wuapnjie
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.