【 Android 】Seekbar

Seekbar : 用戶可以拖動拇指向左或向右來設置目前的進度。

xml :

    <SeekBar
      android:id="@+id/seekBar"  //設置id
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:paddingLeft="30dip"  //設置靠左的間距
      android:paddingRight="40dip" //設置靠右的間距
      android:paddingTop="14dip"   //設置靠上的間距
      android:progressDrawable="@drawable/noimage"  //設置拉動的背景為沒有圖案
      android:thumb="@drawable/preset" />  //設置拉動的圖案


java:

//seekbar button
seekbar = (SeekBar) findViewById(R.id.seekBar);
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
//放開時的動作
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
//按下時的動作
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
//拖動時的動作
        //progress = 目前拖曳位置的值
        //seekbar.getProgress(); 取得目前seekbar位置的值
        //seekbar.setProgress(value);  將值設給seek bar
        //seekbar.setMax(3000); 設置seek bar的最大值


});


以上是目前專案使用的seekbar的用法,由於android提供的seek bar的數值都是整數,所以若是需要小數點的話則需要自已換算,如下範例:
       seekbar.setMax(3000); //設定最大值為3000( 0~3000 )
       double seekbarValue = progress * 0.1;  //小數點一位
       所以取得的值(seekbarValue)為 0.0 ~ 300.0

留言

這個網誌中的熱門文章

【 Android 】控制ImageView大小&位置

【 Android 】利用file取得資料夾內檔案

【 Android 】防止系統進入休眠和螢幕恆亮