AnimShopButton

  • 按钮 (Button)
  • ★★★★★
  • 2017-01-09 14:22
  • 4957 kb
  • Android Studio

介绍:

纯自定义View,实现的仿饿了么带伸缩位移旋转动画的购物车按钮

运行效果:

使用说明:

在项目根build.gradle文件中增加JitPack仓库依赖。

    allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }

Add the dependency

    dependencies {
            compile 'com.github.mcxtzhang:AnimShopButton:V1.0.0'
    }

xml:

    <!--使用默认UI属性-->
    <com.mcxtzhang.lib.AnimShopButton
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:maxCount="3"/>
    <!--设置了两圆间距-->
    <com.mcxtzhang.lib.AnimShopButton
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:count="3"
        app:gapBetweenCircle="90dp"
        app:maxCount="99"/>
    <!--仿饿了么-->
    <com.mcxtzhang.lib.AnimShopButton
        android:id="@+id/btnEle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:addEnableBgColor="#3190E8"
        app:addEnableFgColor="#ffffff"
        app:hintBgColor="#3190E8"
        app:hintBgRoundValue="15dp"
        app:hintFgColor="#ffffff"
        app:maxCount="99"/>

注意: 加减点击后,具体的操作,要根据业务的不同来编写了,设计到实际的购物车可能还有写数据库操作,或者请求接口等,要操作成功后才执行动画、或者修改count,这一块代码每个人写法可能不同。

使用时,可以重写onDelClick()onAddClick()方法,并在合适的时机回调onCountAddSuccess()onCountDelSuccess()以执行动画。

属性

nameformatdescription中文解释
isAddFillModebooleanPlus button is opened Fill mode default is stroke (false)加按钮是否开启fill模式 默认是stroke(false)
addEnableBgColorcolorThe background color of the plus button加按钮的背景色
addEnableFgColorcolorThe foreground color of the plus button加按钮的前景色
addDisableBgColorcolorThe background color when the button is not available加按钮不可用时的背景色
addDisableFgColorcolorThe foreground color when the button is not available加按钮不可用时的前景色
isDelFillModebooleanPlus button is opened Fill mode default is stroke (false)减按钮是否开启fill模式 默认是stroke(false)
delEnableBgColorcolorThe background color of the minus button减按钮的背景色
delEnableFgColorcolorThe foreground color of the minus button减按钮的前景色
delDisableBgColorcolorThe background color when the button is not available减按钮不可用时的背景色
delDisableFgColorcolorThe foreground color when the button is not available减按钮不可用时的前景色
radiusdimensionThe radius of the circle圆的半径
circleStrokeWidthdimensionThe width of the circle圆圈的宽度
lineWidthdimensionThe width of the line (+ - sign)线(+ - 符号)的宽度
gapBetweenCircledimensionThe spacing between two circles两个圆之间的间距
numTextSizedimensionThe textSize of draws the number绘制数量的textSize
maxCountintegermax count最大数量
countintegercurrent count当前数量
hintTextstringThe hint text when number is 0数量为0时,hint文字
hintBgColorcolorThe hint background when number is 0数量为0时,hint背景色
hintFgColorcolorThe hint foreground when number is 0数量为0时,hint前景色
hingTextSizedimensionThe hint text size when number is 0数量为0时,hint文字大小
hintBgRoundValuedimensionThe background fillet value when number is 0数量为0时,hint背景圆角值

这么多属性够你用了吧。

项目中使用的效果,考虑到了View的回收复用

new.gif