Android SeekBar實現平滑滾動

本文實例為大傢分享瞭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);

    }
  }

}

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀:

    None Found