2012-01-10 55 views

Trả lời

31

Sử dụng này một

android:progress="5" 

Giống như "tiến bộ", nó được thừa hưởng một số thuộc tính của nó từ ProgressBar. Bạn tìm thấy tất cả các thuộc tính tại http://developer.android.com/reference/android/widget/SeekBar.html

+0

Tôi đoán rằng tôi có thể làm điều đó bằng mã Java này, quá đúng ?: seekBar.incrementProgressBy (10); Nhưng nếu tôi muốn tăng tiến độ thêm 100 thì nó không hoạt động. Bạn còn ý kiến ​​nào không? – Adam

+0

Giá trị tiến bộ tối đa của bạn là bao nhiêu? Bạn đã gọi setMax (int max)? Tôi nghĩ bạn nên đặt giá trị này theo giá trị. – mseo

+0

OK, tôi đã giải quyết nó, hôm qua. – Adam

4

Tôi hy vọng mã này chắc chắn sẽ giúp bạn.
Hãy thử này ...

float discrete=0; 
float start=0; 
float end=100; 
float start_pos=0; 
int start_position=0; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    start=-10;  //you need to give starting value of SeekBar 
end=10;   //you need to give end value of SeekBar 
    start_pos=5; //you need to give starting position value of SeekBar 

    start_position=(int) (((start_pos-start)/(end-start))*100); 
    discrete=start_pos; 
    SeekBar seek=(SeekBar) findViewById(R.id.seekBar1); 
    seek.setProgress(start_position); 
    seek.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      // TODO Auto-generated method stub 
      Toast.makeText(getBaseContext(), "discrete = "+String.valueOf(discrete), Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) { 
      // TODO Auto-generated method stub 
      // To convert it as discrete value 
      float temp=progress; 
      float dis=end-start; 
      discrete=(start+((temp/100)*dis)); 

     } 
    }); 
} 
15

Để có được Seekbar tại giá trị của 5

Trong layout xml sử dụng giá trị tối đa là 10

android:max="10" 

Trong java cho seekbar để có được tiến bộ 5

seekbar = (SeekBar) findViewById(R.id.seekBar1); 
seekbar.setProgress(5); 

thats it :)

-1
final Timer timer = new Timer(); 

seekBar_efficiency.setMax(40); 

seekBar_efficiency.setProgress(35); 
timer.schedule(new TimerTask() { 

    @Override 
    public void run() { 
     seekBar_efficiency.setProgress(20); 
     timer.cancel(); 
    } 
}, 200, 50); 
+0

loại này được đặt mặc định khi khởi chạy –

Các vấn đề liên quan