Android RatingBar ratingBarStyleSmall 只显示满星/满星

Android RatingBar ratingBarStyleSmall only show full/ filled stars

连半星都没有!当然,我已经准备好了所有其他问题,它们没有我没有尝试过的魔力。

我尝试将样式更改为ratingBarStyle并且有半星但是当然,正常大小的RatingBar不符合我的要求。

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <RatingBar
            android:id="@+id/ratingBar2"
            style="?android:attr/ratingBarStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:isIndicator="true"
            android:backgroundTint="@color/colorAccent"
            android:progressTint="@color/colorAccent"
            android:secondaryProgressTint="@color/colorAccent"
            android:numStars="5"
            android:rating="3.3"
            android:stepSize="0.1"/>
    </LinearLayout>

我的Java代码:

ratingBar.setStepSize(0.1f);
ratingBar.setRating(3.5f);

我看到的结果:

我正在使用 Android 支持版本 23.4.0。 我的 compileSdkVersiontargetSdkVersion 都是 23 岁。 我正在 Android 5.0 设备上进行测试。

删除或更改 android:secondaryProgressTint。它用于填充最后一个(部分)星号。这就是我得到的:

    <RatingBar
        android:id="@+id/ratingBar2"
        style="?android:attr/ratingBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:isIndicator="true"
        android:backgroundTint="#f00"
        android:progressTint="#0f0"
        android:secondaryProgressTint="#00f"
        android:numStars="5"
        android:rating="3.3"
        android:stepSize="0.1"/>

我只改了3种颜色。似乎根本没有使用背景色调(AppCompat 23.4.0,API 22 设备)。