AnimShopButton

A shopping cart button with a telescopic displacement rotation animation ...一个带伸缩位移旋转动画的购物车按钮

Github stars Tracking Chart

AnimShopButton

A shopping cart button with a telescopic displacement rotation animation ...

一个仿饿了么 带伸缩位移旋转动画的购物车按钮

注意,本控件非继承自ViewGroup,而是纯自定义View,实现的仿饿了么加入购物车控件,自带闪转腾挪动画的按钮。

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

并且可以看到在RecyclerView中使用,切换LayoutManager也是没有问题的,

项目中使用的效果

图2 Demo效果,测试各种属性值

图2 Demo效果,测试各种属性值

图3 最新静态图

图3 最新静态图,测试各种属性值

Article

相关博文:

http://blog.csdn.net/zxt0601/article/details/54235736

想经济上支持我 or 想通过视频看我是怎么实现的:

http://edu.csdn.net/course/detail/3898

Import

Step 1. Add the JitPack repository to your build file

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

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

Step 2. Add the dependency

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

Usage

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()以执行动画。

效果图如图2.

Attributes, name, format, description, 中文解释, :---:, :---:, :---:, :---:, isAddFillMode, boolean, Plus button is opened Fill mode default is stroke (false), 加按钮是否开启fill模式 默认是stroke(false), addEnableBgColor, color, The background color of the plus button, 加按钮的背景色, addEnableFgColor, color, The foreground color of the plus button, 加按钮的前景色, addDisableBgColor, color, The background color when the button is not available, 加按钮不可用时的背景色, addDisableFgColor, color, The foreground color when the button is not available, 加按钮不可用时的前景色, isDelFillMode, boolean, Plus button is opened Fill mode default is stroke (false), 减按钮是否开启fill模式 默认是stroke(false), delEnableBgColor, color, The background color of the minus button, 减按钮的背景色, delEnableFgColor, color, The foreground color of the minus button, 减按钮的前景色, delDisableBgColor, color, The background color when the button is not available, 减按钮不可用时的背景色, delDisableFgColor, color, The foreground color when the button is not available, 减按钮不可用时的前景色, radius, dimension, The radius of the circle, 圆的半径, circleStrokeWidth, dimension, The width of the circle, 圆圈的宽度, lineWidth, dimension, The width of the line (+ - sign), 线(+ - 符号)的宽度, gapBetweenCircle, dimension, The spacing between two circles, 两个圆之间的间距, numTextSize, dimension, The textSize of draws the number, 绘制数量的textSize, maxCount, integer, max count, 最大数量, count, integer, current count, 当前数量, hintText, string, The hint text when number is 0, 数量为0时,hint文字, hintBgColor, color, The hint background when number is 0, 数量为0时,hint背景色, hintFgColor, color, The hint foreground when number is 0, 数量为0时,hint前景色, hingTextSize, dimension, The hint text size when number is 0, 数量为0时,hint文字大小, hintBgRoundValue, dimension, The background fillet value when number is 0, 数量为0时,hint背景圆角值, ignoreHintArea, boolean, The UI/animation whether ignores the hint area, UI显示、动画是否忽略hint收缩区域, perAnimDuration, integer, The duration of each animation, in ms, 每一段动画的执行时间,单位ms, hintText, string, The hint text when number is 0, 数量为0时,hint文字, replenishTextColor, color, TextColor in replenish status, 补货中状态的文字颜色, replenishTextSize, dimension, TextSize in replenish status, 补货中状态的文字大小, replenishText, string, Text hint in replenish status, 补货中状态的文字

这么多属性够你用了吧。

Where to find me:

Github

CSDN

稀土掘金

简书

QQ群 :557266366


History

Version : 1.1.0,Time: 2017/01/12

  • 1 Feature : Add a boolean variable ignoreHintArea :The UI/animation whether ignores the hint area
  • 2 Feature : Add a int variable perAnimDuration : The duration of each animation, in ms

Version : 1.2.0 Time: 2017/02/08

  • 1 Feature : Add a status: replenishment.Click is not allowed at this time.
  • Judgment by setReplenish (boolean) and isReplenish ()

Main metrics

Overview
Name With Ownermcxtzhang/AnimShopButton
Primary LanguageJava
Program languageJava (Language Count: 1)
Platform
License:Apache License 2.0
所有者活动
Created At2016-12-28 10:05:53
Pushed At2017-11-18 14:53:53
Last Commit At2017-03-21 09:53:56
Release Count3
Last Release NameV1.2.0 (Posted on 2017-02-08 17:43:38)
First Release NameV1.0.0 (Posted on 2017-01-08 23:52:21)
用户参与
Stargazers Count1.3k
Watchers Count21
Fork Count182
Commits Count29
Has Issues Enabled
Issues Count13
Issue Open Count11
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private