我需要制作5颗星的精确评级栏,但是当我有2.7级评级时,我需要有2.7颗白色,其他颜色为灰色。我正在寻找与寻求者酒吧有关的东西。我添加了5颗星,当我评级为1时可以轻松制作4颗灰色,但不知道如何使它们部分着色。
我现在有这样的事情:
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
setStars(i);
}
private void setStars(int stars){
switch (stars){
case 0:
star1.setVisibility(GONE);
star2.setVisibility(GONE);
star3.setVisibility(GONE);
star4.setVisibility(GONE);
star5.setVisibility(GONE);
break;
case 2:
star1.setVisibility(VISIBLE);
star2.setVisibility(GONE);
star3.setVisibility(GONE);
star4.setVisibility(GONE);
star5.setVisibility(GONE);
break;
等等,但我需要它准确。我知道我可能会为这个星的10个状态进行1/10,2/10填充等等,但这样做太多了。
答案 0 :(得分:2)
答案 1 :(得分:1)
试试这个:
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="0.1"
android:rating="2.7" />