Skip to content

Vihanmy/wupanjie-StickerView

 
 

Repository files navigation

Overview

这个仓库来自 [StickerView][https://github.com/wuapnjie/StickerView], 自己克隆了一份用于学习, 对于使用Matrix进行几何变换和手势检测很有学习的意义. 我在原始仓库的基础上升级了gradle和agp的版本,引入了kotlin, 进行了一些注释, 代码格式化和案例代码的书写.

Android Arsenal

StickerView

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.

Screenshots

Usage

Suggestion

copy the source code to your project so you can design your own function.

Tips:StickerView extends FrameLayout

In layout

<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>

Add sticker

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));

Update

  • 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

Todo

  • Constrain the sticker's moving area
  • Add Double Tap callback

Licence

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.

[https://github.com/wuapnjie/StickerView]:

Releases

No releases published

Packages

No packages published

Languages

  • Java 75.8%
  • Kotlin 24.2%