2011-06-01 94 views

回答

8

搜索條默認之間的值0和100.當從SeekBar的更改偵聽器調用onProgressChanged函數時,進度號將在progress參數中傳遞。

如果您希望將此進度轉換爲0.0 - > 10.0的小數以顯示或處理,您只需在收到進度值時將進度除以10,然後將該值轉換爲浮點值。下面是一些示例代碼:

aSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
    @Override 
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
     float value = ((float)progress/10.0); 
     // value now holds the decimal value between 0.0 and 10.0 of the progress 
     // Example: 
     // If the progress changed to 45, value would now hold 4.5 
    } 

    @Override 
    public void onStartTrackingTouch(SeekBar seekBar) {} 
    @Override 
    public void onStopTrackingTouch(SeekBar seekBar) {} 
}); 
3

一個搜索欄的進步是一個int 0到100之間,並在進度值進行適當的運算,如果你需要其他的值來進行縮放。

在你的情況下除以10將做的伎倆。在你的代碼中有這樣的東西:

public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
     float decimalProgress = (float) progress/10; 
    }