【Android】SeekBar平滑滚动

由于项目需要,SeekBar只需要三个档,但是如果只设置三个档会很难滑,看着也不好看,于是我将其设置为100,然后自动滑到0,50,100的位置
【Android】SeekBar平滑滚动_第1张图片

大部分代码还是跟之前一样,只是把max改为100,progress改为50

    "match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:thumb="@drawable/device_control_yellow_mid_img_40"
        android:maxHeight="8dp"
        android:progress="50"
        android:progressDrawable="@drawable/seek_style"
        android:id="@+id/id_seek_bar"
        android:layout_marginTop="100dp"
        />

然后

public class MainActivity extends Activity implements SeekBar.OnSeekBarChangeListener{

    private int quota;//当前滑动到的值


    //我的习惯,在Activity后面implements点击事件,然后在类中处理
    @Override
    public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
        quota=i;

    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        mTextView.setText("按下SeekBar ");

    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        mTextView.setText("松开SeekBar ");
        setSeekBar(quota);
    }

    private void setSeekBar(int i){
        if (i<33){
            mTextView2.setText("低温");
            Drawable drawable=getResources().getDrawable(R.drawable.green_low_img_40);
            mSeekBar.setThumb(drawable);
            mSeekBar.setProgress(1);
        }else
        if (i>66){
            mTextView2.setText("高温");
            Drawable drawable2=getResources().getDrawable(R.drawable.red_high_img_40);
            mSeekBar.setThumb(drawable2);
            mSeekBar.setProgress(99);
        }else {
            mTextView2.setText("中温");
            Drawable drawable1=getResources().getDrawable(R.drawable.yellow_mid_img_40);
            mSeekBar.setThumb(drawable1);
            mSeekBar.setProgress(50);

        }
    }

}

你可能感兴趣的:(【Android】SeekBar平滑滚动)