ArrowDrawable,纯Paint实现的一个射箭效果,可用作Loading动画

作者: androidproject 发布时间: 2019-09-05 浏览: 2060 次 编辑

项目地址:https://github.com/wuyr/ArrowDrawable

博客详情: https://blog.csdn.net/u011387817/article/details/94607919

使用方式:

添加依赖:

● 单独使用Drawable

implementation 'com.wuyr:arrowdrawable:1.0.1'

● 作为刷新Header (需配合SmartRefreshLayout使用)

implementation 'com.wuyr:arrowheader:1.0.3'

APIs:

ArrowDrawable

MethodDescription
create(View targetView)创建对象
targetView: 显示此Drawable的容器,下同
create(View targetView, int width, int height)指定Drawable的宽高来创建对象
create(View targetView, int width, int height, int bowLength)指定Drawable的宽高、弓的长度来创建对象
reset()重置ArrowDrawable为静止状态
hit()开始播放命中动画
miss()开始播放未命中动画
fire()播放发射动画

ArrowDrawable & ArrowHeader

MethodDescription
updateSize(int width, int height, int bowLength)更新ArrowDrawable的尺寸
setBaseLinesFallDuration(int duration)设置线条的坠落时长
setFiringBowFallDuration(int duration)设置发射中的弓向下移动的时长
setFiredArrowShrinkDuration(int duration)设置发射后的箭收缩动画时长
setFiredArrowMoveDuration(int duration)设置发射后的箭每次上下移动的时长
setSkewTan(float tan)设置命中后左右摆动的幅度(正切值)
setMaxSkewCount(int count)设置命中后一共要摆动的次数
setMissDuration(int duration)设置未命中动画时长
setHitDuration(int duration)设置命中动画时长
setSkewDuration(int duration)设置命中后每次左右摆动的时间
setLineColor(int color)设置坠落的线条颜色
setBowColor(int color)设置弓颜色
setStringColor(int color)设置弦颜色
setArrowColor(int color)设置箭颜色

Attributes:

ArrowHeader

NameFormatDescription
bowColorcolor (默认: 白色)弓颜色
arrowColorcolor (默认: 白色)箭颜色
stringColorcolor (默认: 白色)弦颜色
lineColorcolor (默认: 白色)坠落的线条颜色
bowLengthdimension (默认: 总宽度的30%)弓长

Demo下载: app-debug.apk

库源码地址:

● ArrowDrawable: https://github.com/Ifxcyr/ArrowDrawable

● ArrowHeader: https://github.com/Ifxcyr/ArrowHeader

效果图:

preview preview previewpreview