A custom view that imitate google app's voice animation. 实现仿谷歌的语音动画,效果见下图:
【造轮子系列】仿谷歌语音搜索动画——VoiceAnimation
#How To Use
add to your build.gradle files:
dependencies {
compile 'com.pl:VoiceAnimator:0.2'
}
attr 属性 | description 描述 | format 类型 |
---|---|---|
dotsCount | 动画中小圆点的个数 | integer |
dotColors | 每个小圆点的颜色 | reference数组引用 |
dotsMaxHeight | 每个小圆点的最大高度 | reference数组引用 |
dotsMinHeight | 小圆点的最小高度 | dimension |
dotsWidth | 小圆点的宽度 | dimension |
dotsMargin | 小圆点之间的间距 | dimension |
animationMode | 动画类型 | enum |
其中AnimationMode的取值有STABLE_MAX,STABLE_MIN,STABLE_HALF,ANIMATION
获取点的数量
设置点的数量, 因为会根据点的数量加载点的颜色和最大高度, 所以必须先调用{@link #setDotsColors(int[])} 和{@link #setDotsMaxHeight(float[])}将其参数的长度与点的数量保存一致, 否则可能导致出错 dotsCount 点的数量
获取每个点的颜色,rgb颜色
设置每个点的颜色
dotsColors 每个点的颜色,rgb颜色,推荐使用Color.parseColor("#ff0000")获取
获取每个点的最大高度,单位px
设置每个点的最大高度
dotsMaxHeight 最大高度值,单位px
获取点的最小高度,单位px
设置点的最小高度
dotsMinHeight 最小高度值,单位px
获取每个点的宽度,单位px
设置每个点的宽度
dotsWidth 宽度值,单位px
获取每个点之间的间距,单位px
设置每个点之间的间距
dotsMargin 间距值,单位px
设置动画类型
获取动画类型
设置当前动画的幅度值
使用setValue来不断传递声音强度,让动画动起来
targetValue 动画的幅度,范围(0,1)
启动加载动画
启动加载动画
height 加载动画的幅度,单位px