一旦进度超过10%,改变SeekBar的Thumb-Drawable?

时间:2012-01-30 11:19:55

标签: android seekbar

一旦进度超过10%,我试图改变搜索栏的拇指可绘制..但事情是...... 一旦进步击中> 10,拇指抽屉“消失”..这是一些知道的错误还是就像这应该是可能的一样简单?

这是我的代码:

    public class SliderTestActivity extends Activity {
    SeekBar sb;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        sb = (SeekBar)findViewById(R.id.seekBar1);
        sb.setThumb(getResources().getDrawable(R.drawable.fingerprint));
        sb.setProgress(50);
        sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

            public void onStopTrackingTouch(SeekBar seekBar) {
                seekBar.setThumb(getResources().getDrawable(R.drawable.egg));

            }

            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub

            }

            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                if(progress > 10)
                {
                    sb.setThumb(getResources().getDrawable(R.drawable.egg));
                }

            }
        });
    }
}

提前致谢!

1 个答案:

答案 0 :(得分:1)

我在网上发现了这个:

final Drawable d = getResources().getDrawable(R.drawable.egg);
d.setBounds(new Rect(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()));
slider.setThumb(d);

拇指没有消失,但是在改变后它表现得有些奇怪。它不会停留在SeekBar的开头和结尾,而是隐藏了一半。

编辑: 它接缝setThumb还将拇指偏移设置为半宽。通过在设置拇指后将偏移设置为0,可以使其表现得像原始拇指:

slider.setThumb(d);
slider.setThumbOffset(0);