我希望有一个搜索栏,我可以显示如下所示的可接受值范围。我知道设置自定义drawable以寻找条形图的方法。我的问题是我如何用xml中的部分绿色部分构建这种可绘制的东西。感谢先进。
答案 0 :(得分: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;
}
}
答案 1 :(得分:0)
我认为标准SeekBar不提供最小和最大“可接受”值。 你可以做的是简单地使用方法
添加背景mySeekBar.setProgressDrawable(Drawable d);
构建一个灰色和绿色的图像,将被拉伸。