android 自定义音量进度条,Android-自定义声音进度条 (根据进度条格数设置声音)...

主要步骤

1.绘制20个方形组合的进度条

2.监听坐标转化为进度条的条目数

3.将条目数监听回调给客户端

4. 根据进度条条目数设置声音大小

1.绘制20个方形组合的进度条

根据定点坐标和画笔属性绘制

根据进度大小来区别画笔颜色,用于显示当前声音进度

当前的进度数= 当前音量的2的倍数+当前音量的2的余数

1.1 . 每个条目的左上的X坐标 = (当前条目数-1 )*(长方形的宽度+进度条的间隔)+进度条的左边距

1.2. 每个条目的左上的Y坐标 = 进度条的上边距

1.3. 每个条目的右上的X坐标 = 每个条目的左上的X坐标 + 长方形的宽度

1.4. 每个条目的右上的Y坐标 = 进度条的上边距 + 长方形的高度

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

for(int i =1; i <= mTotal; i++) {

drawRect(i, canvas);

}

}

private void drawRect(int i, Canvas canvas) {

int color = i <= mPrecess ? mSelectColor : mBgColor;

mPaint.setColor(color);

int startX = getLeft(i);

canvas.drawRect(getLeft(i), mTop, startX + mRectWidth, mBottom, mPaint);

}

private int getLeft(int i) {

return (i - 1) * (mRectWidth + space) + mPaddingX;

}

2.监听坐标转化为进度条的条目数

监听坐标转化为进度条的条目数 = onTouchEvent监听获取的X坐标 / (长方形的宽度+进度条的间距)+1

private int getIndexByX(float x) {

int index = (int) (x - mPaddingX);

if(index <= 0) {

return 0;

}

index 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值