android seekbar自定义drawable

时间:2013-10-30 08:03:51

标签: android android-custom-view seekbar

我希望有一个搜索栏,我可以显示如下所示的可接受值范围。我知道设置自定义drawable以寻找条形图的方法。我的问题是我如何用xml中的部分绿色部分构建这种可绘制的东西。感谢先进。

enter image description here

2 个答案:

答案 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);

构建一个灰色和绿色的图像,将被拉伸。