【Android】SeekBar平滑滾動

由於項目需要,SeekBar只需要三個檔,但是如果只設置三個檔會很難滑,看着也不好看,於是我將其設置爲100,然後自動滑到0,50,100的位置
這裏寫圖片描述

大部分代碼還是跟之前一樣,只是把max改爲100,progress改爲50

    <SeekBar
        android:layout_width="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);

        }
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章