2011-09-07 51 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);