2013-04-29 59 views
4

我想創建搜索條被分成5段差,below AverageAverageExcellent,每一步我想增加這樣的搜索條 默認值= 0 最大值= 100;如何來增加搜索欄值

i want seek bar values like this :0,25,50,75,100 

我該如何做到這一點。

謝謝

+0

看看這個[Seekbar-Example](http://adf.ly/3103720/banner/http://rajeshvijayakumar.blogspot.in/2013/01/seek-bar-example-in-android .html) – Lucifer 2013-04-29 06:01:53

回答

18

您必須更新onProgressChanged方法如下。

int yourStep = 25; 
public void onProgressChanged(SeekBar seekBar, int progress, 
       boolean fromUser) { 
progress = ((int)Math.round(progress/yourStep))*yourStep; 
seekBar.setProgress(progress); 
textview.setText(progress + ""); 

} 

希望其幫助

UPD

我想在你的XML您SeekBar設置android:max="100"。但是您需要設置android:max="101",因爲在0100 = 101之間。

只需更換

android:max="100" 

android:max="101" 
+0

+1爲邏輯,但它永遠不會在搜索欄結束 – user1737884 2013-04-29 06:19:16

+0

我更新了我的答案。覈實。我創建測試應用程序,所有的作品都很棒 – jimpanzer 2013-04-29 06:30:58

+0

偉大的工作@ jimpanzer – 2013-04-29 06:32:52

0

請嘗試以下代碼。

seekBar.setProgress(YOUR_VALUE); 
2

試試這個:

seekBar.setProgress(4); 

這將給值,0, 1, 2, 3, 4。你不需要玩onProgressChanged,只需乘以25,你的值爲0, 25, 50, 75, 100

+0

這是錯誤的。如果您不更改最大值,則會顯示錶單的值:0,4,8,12,16,...,92,96,100。你需要改變的是seekBar.setMax(4)' – PlatinTato 2015-09-03 11:42:52