繁体   English   中英

如何使Android ratingBar中的星星显示双精度值?

[英]How to make stars in a Android ratingBar display double values?

在我的代码中, RatingBar显示最接近的双精度数字。 例如,如果我的值为3.5,则将其显示为4星,如果我为3.2,则将其显示为3星。 它总是使其成为最接近的整数整数值。

我使用的代码:

TextView rateavg =(TextView)findViewById(R.id.textView1);
rateavg.setText(stringrate);
RatingBar ratingBar = (RatingBar)findViewById(R.id.ratingBar1);
ratingBar.setEnabled(false);
ratingBar.setMax(5); // I assume 5 is your max rating
ratingBar.setRating(Float.parseFloat(stringrate));
ratingBar.setStepSize(0.5f);

尝试这个:

ratingBar.setEnabled(false);
ratingBar.setMax(5);
ratingBar.setStepSize(0.01f);
ratingBar.setRating(Float.parseFloat(stringrate));
ratingBar.invalidate();

为了您的关心,您可以尝试..

int rate = 3.8; // Get your value over here .. 

final RatingBar ratingbar = (RatingBar) rowView.findViewById(R.id.service_rate_bar);
ratingbar.setStepSize((float) 0.25);
ratingbar.setIsIndicator(true);
ratingbar.setRating((int) rate);

并在您的xml文件中定义这样的评分栏:

<RatingBar
            android:paddingTop="5dp"
            android:id="@+id/service_rate_bar"
            style="@style/CustomRatingBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:numStars="5"
            android:stepSize="1.0" 

            />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM