简体   繁体   English

android seekbar自定义可绘制

[英]android seekbar custom drawable

I want to have a seek bar that I can show range of acceptable values like below. 我想要一个搜索栏,可以显示如下所示的可接受值范围。 I know the method of setting a custom drawable to seek bar. 我知道设置自定义可绘制的搜索栏的方法。 My question is how I can build this kind of drawable with partial green part in xml.Thanks in advanced. 我的问题是如何在xml中使用绿色部分构建这种可绘制对象。

在此处输入图片说明

use this Drawable, call it with SeekBar.setProgressDrawable() 使用此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;
    }
}

I don't think that the standard SeekBar provides a minimum and a maximum "acceptable" values. 我认为标准SeekBar不能提供最小和最大“可接受”值。 What you can do is to simply add a background, using the method 您可以做的就是使用方法简单地添加背景

mySeekBar.setProgressDrawable(Drawable d);

And build an image with grey and green that will be stretched. 并用灰色和绿色构建将被拉伸的图像。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM