为媒体资源播放打造的“条形与波浪”可视化效果
1 截图
2 说明
1 提供的 xml 属性
- barColor 横条颜色
- barHeight 横条高度
- waveRange 波浪条极差(最高与最低的差值)
- waveMinHeight
- waveColor 波浪条最小高度
- waveWidth 波浪条颜色
- waveNumber 波浪条宽度
- waveInterval 波浪条数量
2 主要方法
setFallAutomaticallyEnable(boolean enable)
设置波浪条高度大于 waveMinHeight 时自动坠落(使用属性动画)。setWaveHeight(float[] hs)
设置波浪条的高度,高度值是 0 ~ 1 的一个浮点数,即所占 waveRange 的百分比,为 0 时波浪条的高度为 waveMinHeight,为 1 时波浪条的高度为 waveMinHeight + waveRange。setWaveColor(int[] color)
设置波浪条的颜色,此方法为每一个波浪条设置指定的颜色。setWaveColor(int[][] color)
设置波浪条的颜色,为每一个波浪条指定两个颜色,这两个颜色将以纵向渐变的形式被绘制。setWaveColor(int color)
设置波浪条的颜色,让所有的波浪条都显示相同的颜色。setBarColor(int color)
设置横条的颜色。setFallDuration(int duration)
设置“自动坠落”时的动画时长,如果“自动坠落”未启用,该方法将启动“自动坠落”。
3 如何使用
复制 library 下的 BarWavesView.java 文件到你的项目中,注意修改包名,同时复制 library 目录下的 attrs 中的属性到你自己的 attrs 中(如果没有 attrs
文件,则直接复制文件)。
在 xml 中使用:
<!--记得修改包名 --!>
<com.duan.library.BarWavesView
android:id="@+id/BarWavesView_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-230dp"
app:waveNumber="35"
app:waveWidth="30dp"
app:waveRange="600dp"
app:waveMinHeight="0dp"
app:waveInterval="5dp"
app:waveColor="#7eaeaeae"
app:barHeight="0dp"
/>
在 java 中使用:
//省略代码
public class MainAct