How do I get the thumb of an Android SeekBar to match the height of the SeekBar?
Do I need to imple开发者_开发百科ment a custom thumb Drawable?
With some digging, I found how to supply a custom Drawable thumb. Here's an excerpt that may help others.
ShapeDrawable thumb = new ShapeDrawable( new RectShape() );
thumb.getPaint().setColor( 0x00FF00 );
thumb.setIntrinsicHeight( 80 );
thumb.setIntrinsicWidth( 30 );
mySeekBar.setThumb( thumb );
It's an old post, but I found this from google. so here's my solution:
Drawable thumb; //load this earlier.
@Override
protected void onFinishInflate() {
super.onFinishInflate();
thumb = getContext().getResources().getDrawable(R.drawable.slider_thumb);
}
private void expandThumb(int height) {
thumb.setBounds(0, 0, thumb.getIntrinsicWidth(), height);
//force a redraw
int progress = getProgress();
setProgress(0);
setProgress(progress);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
expandThumb(h);
}
精彩评论