0

当我使用 seekBar.setEnabled(false) 时,它会使搜索栏变灰。即使禁用它,有什么方法可以保持条的原始颜色和亮度?

谢谢 :)

4

2 回答 2

0

我不知道你为什么这样做,但你可以执行以下操作:

public class MySeekBar extends SeekBar{

    private boolean myEnabled;

    public void setMyEnabled(boolean myEnabled) {
        this.myEnabled = myEnabled;
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent event) {
        if(!myEnabled) {
            return true;
        }

        return super.dispatchTouchEvent(event);
    }
...

然后使用 setMyEnabled(false) 禁用触摸输入

于 2012-05-05T19:31:33.403 回答
0

我刚刚用这个解决了我同样的问题:

 normalSB.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

        int originalProgress;

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {


            if (fromUser == true) {
                seekBar.setProgress(originalProgress);
            }

        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            originalProgress = seekBar.getProgress();
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
        }
    });

希望它可以帮助你:D

于 2015-08-25T07:24:49.363 回答