我知道在GitHub上有很多关于这个参数的堆栈溢出的问题。但是没有那些符合我的需求。在Android上绘制自定义Seekbar
我只需要画出这样的事情:
的进度线必须是黄色的,没有拇指。
预先感谢您。
我知道在GitHub上有很多关于这个参数的堆栈溢出的问题。但是没有那些符合我的需求。在Android上绘制自定义Seekbar
我只需要画出这样的事情:
的进度线必须是黄色的,没有拇指。
预先感谢您。
您应该为此创建一个视图。 看看Android creating custom view
此外,一个更简单的解决办法我能想到的是创建occupes整个宽度的长方形进度条,并在上面画上了中间,播放按钮
我会试一试。谢谢 –
您可以使用类似于我所解释的here。
只需使用矩形而不是圆形。使用大小改变来计算矩形的实际大小,并有一个方法来改变百分比,并重新计算你的矩形大小/重新创建你的路径。
当您更改路径时,您只需致电invalidate()
即可进行重新绘制。
伪代码:
public void setProgress(float progress) {
this.progress = progress;
refreshProgressBar();
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
this.currentW = w;
this.currentH = h;
refreshProgressBar();
}
private void refreshProgressBar() {
path.reset();
// build your clipping path using progress/currentW/currentH
path.close();
invalidate();
}
可以执行所有与单个自定义视图或者具有在彼此的顶部2次,将含有该栏的“补”的一个被限幅的I解释的方法以上。
请注意裁剪发生在画布上。因此,如果您使用自定义视图,只需在绘制进度视图之前设置裁剪并在完成后将其删除(在此情况下,您也可以直接绘制颜色 - 但如果您有复杂的颜色模式,剪裁可能更容易)。如果你在我给你的链接中使用裁剪ViewGroup,你必须相应地构建你的布局,这样裁剪后的视图才是进度。
如果你玩数学,你也可以绘制一条符合你的艺术作品的路径,并在布局顶部的全色矩形上使用它。
如果将一个矩形和一个圆相加,然后删除一个圆(使用OP
对路径进行加/减/相乘),您应该获得一个类似于手绘图中的路径(形状)。
祝你好运。
我对Android比较陌生。我的问题出了什么问题?为什么它低调? –
你有什么尝试?我们不是代码编写服务 –
就像我说的,我对Android比较陌生。在尝试转换我在堆栈溢出中找到的某些东西后,我意识到如果没有我的具体情况帮助,我无法完成此任务。我很抱歉,我知道这是一个失去时间的问题。但我不得不问。 –