2011-09-07 55 views
2

我在我的應用程序中有一個android評級欄,它只顯示int評級。Android RatingBar不接受浮點值

例如:

float ratingValue = 1.5f; 
myRatingBar.setRating(ratingValue); 

和的RatingBar顯示器2全分。我怎樣才能讓它顯示一個半星或兩個半?

回答

5

嘗試使用

float ratingValue = 1.5f; 
myRatingBar.setRating(ratingValue); // to set rating value 
myRatingBar.setStepSize(ratingValue);// to show to stars 

公共無效setStepSize(浮動stepSize的)

設置此等級欄的步長(粒度)。 參數

stepSize此評級欄的步長。例如,如果需要半星粒度,則該值爲0.5。

+8

我想你的意思'myRatingBar.setStepSize(0.5F) ;' – mskfisher

3

添加style="?android:attr/ratingBarStyle"將XML

+1

爲什麼我必須使用這種風格?它不符合我的需求。爲什麼使用我自己的風格時,評分不能改變? – Zvi

0

已之前設置的評價值工作對我來說是設定步長解決方案:
float ratingValue = 3.5f; myRatingBar.setStepSize(0.5f); myRatingBar.setRating(ratingValue);