Android:评分栏小于0.5

时间:2017-07-31 17:44:54

标签: android xml ratingbar

我在我的代码中添加了一个RatingBar,除了一件事情之外它运行良好。我试图将步长设置为0.1,但它仍然会根据默认的0.5步长做出反应。我可以很容易地设置一个高于0.5的步长,它会按预期反应但不会更低。

我无法弄清楚为什么?我唯一能想到的是,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我试图以编程方式实现它,但仍然是相同的。

1 个答案:

答案 0 :(得分:3)

我通过将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"
            />