我试图从代码更改SeekBar的拇指。当有人点击并实施时,我想更改
seek.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
seek.setThumb(getResources().getDrawable(R.drawable.red_rect));
}
@Override
public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
}
});
一开始我有默认的拇指,单击时应更改为red_rect,但是单击时该拇指完全消失。有人可以帮我解决这个问题吗?
最佳答案
从资源中获取它之后,需要在Drawable上调用setBounds():
final Drawable d = getResources().getDrawable(R.drawable.thumb);
d.setBounds(new Rect(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()));
slider.setThumb(d);
来自http://www.mail-archive.com/android-developers@googlegroups.com/msg164344.html