安卓SeekBar最小值

88
如何定义SeekBar的最小值?这是在XML布局中完成还是需要以编程方式定义?
基本上,我需要将我的最小值从0更改为0.2。
13个回答

0

我终于找到了一种设置 seekBar 最小值 的方法,只需要像这样设置你的 setOnSeekBarChangeListener

int minimumValue = 10; // your minimum value
seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        // you can set progress value on TextView as usual
        txtProgress.setText(String.valueOf(progress));

    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {

    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        if(seekBar.getProgress() < minimumValue)
            seekBar.setProgress(minimumValue);

    }
});

希望这能帮到你 :)

0

如果您正在使用com.android.support:preference-v7,则SeekBarPreference已经有一个setMin(int)方法。

只需在PreferenceFragmentCompatonCreatePreferences()中调用即可。

XML值仍将在API < 26上被忽略,但以编程方式设置可以正常工作。


0

这段代码对我来说很好用!!!

SeekBar seekBar = (SeekBar)findViewById(R.id.seekBar);
seekBar.setMax(100);
seekBar.setProgress(40);
seekBar.setOnSeekBarChangeListener(seekBarChangeListener);

SeekBar.OnSeekBarChangeListener seekBarChangeListener = new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {
        if(progress <= 40){
            seekBar.setProgress(40);
        }
        if(progress >= 40) {
            pgr_status.setText(String.valueOf(progress));
        }
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {

    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {

    }
};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接