我试图从代码更改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

07-24 09:47
查看更多