2017-07-31 41 views
0

我已经为我的代码添加了RatingBar,除了一件事情之外,它运行良好。我试图将步长设置为0.1,但它仍然按照默认的0.5步长进行反应。我可以很容易地设置一个高于0.5的步长,它会按预期做出反应,但不会降低。我想不出为什么?唯一我能想到的是RatingBar的步长限制在0.5?对于评分栏来说,最低限度的拉半星是没有意义的?Android:Ratingbar步长小于0.5

<android.support.v7.widget.AppCompatRatingBar 
    android:theme="@style/RatingBar" 
    android:stepSize="0.1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/ratingbar" 
    android:numStars="5" 
    android:rating="0.1" 
    style="?android:attr/ratingBarStyleSmall" 
    android:layout_below="@+id/title" 
    android:layout_centerHorizontal="true" /> 

上面的代码会显示一半的明星。但据我所知,它应该画一颗星的十分之一。

P.S我试图以编程方式实现它,但仍然一样。

回答

0

我通过设置secondaryProgressTint为透明的#00000000来解决这个问题。

secondaryProgressTint填充剩余的已开始恒星。默认颜色显然设置为与主要progressTint相同的颜色,因此如果您不知道,会导致很多混淆。

<android.support.v7.widget.AppCompatRatingBar 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/ratingbar" 
      style="?android:attr/ratingBarStyleSmall" 
      android:isIndicator="true" 
      android:progressTint="@color/Red" 
      android:secondaryProgressTint="#00000000" 
      android:numStars="5" 
      android:rating="3.3" 
      android:stepSize="0.1" 
      android:layout_below="@+id/title" 
      android:layout_centerHorizontal="true" 
      />