我想要一个搜索栏,我可以显示可接受值的范围,如下所示。我知道设置自定义可绘制来寻找栏的方法。我的问题是如何在 xml 中构建这种带有部分绿色部分的可绘制对象。在此先感谢。
问问题
596 次
2 回答
1
使用这个 Drawable,用 SeekBar.setProgressDrawable() 调用它
public class PartialDrawable extends Drawable {
private float mStart;
private float mEnd;
private Paint mPaint;
public PartialDrawable(float start, float end) {
mStart = start;
mEnd = end;
mPaint = new Paint();
}
@Override
public void draw(Canvas canvas) {
Rect b = getBounds();
mPaint.setColor(0xff888888);
canvas.drawRect(b,mPaint);
mPaint.setColor(0xff00aa00);
canvas.drawRect(b.width() * mStart, b.top, b.width() * mEnd, b.bottom, mPaint);
}
@Override
public void setAlpha(int alpha) {
}
@Override
public void setColorFilter(ColorFilter cf) {
}
@Override
public int getOpacity() {
return PixelFormat.TRANSLUCENT;
}
}
于 2013-10-30T09:26:13.020 回答
0
我不认为标准 SeekBar 提供最小和最大“可接受”值。您可以做的是简单地添加背景,使用方法
mySeekBar.setProgressDrawable(Drawable d);
并用灰色和绿色构建一个将被拉伸的图像。
于 2013-10-30T09:01:47.490 回答