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.
支持的属性
| 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背景圆角值 |
这么多属性够你用了吧。
下面看重点的实现吧,Let’s Go!.
实现解剖
关于自定义View
的基础,这里不再赘述。
如果阅读时有不明白的,建议下载源码边看边读