2013-10-30 80 views
1

我想要一個搜索欄,可以顯示如下所示的可接受值的範圍。我知道設置自定義drawable來尋找bar的方法。我的問題是我如何可以用xml中的部分綠色部分來構建這種drawable。感謝高級。android seekbar自定義可繪製

enter image description here

回答

1

使用這種繪製對象,與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; 
    } 
} 
0

我不認爲標準的搜索欄提供了一個最小和最大的「可接受」的價值觀。 你可以做的是簡單地增加一個背景,使用方法

mySeekBar.setProgressDrawable(Drawable d); 

,建設有灰色和綠色的圖像將被拉長。

+0

請你張貼「灰色和綠色的」可繪製一個XML代碼。謝謝 –