ratingbar不能仅显示完整的星星

时间:2017-10-30 07:46:31

标签: android ratingbar

我试图仅在10级评级栏中显示完整的星星。但是当我点击评分时,没有显示全明星

<RatingBar
    android:id="@+id/ratingBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:numStars="10"
    android:stepSize="1.0"
    android:max="10"
    android:layout_weight="1" />

screenshot of output

3 个答案:

答案 0 :(得分:1)

弄乱它的是视图的宽度。我用它搞砸了一下,似乎10颗星太宽了,无法在屏幕上显示它们。这搞砸了这个观点。如果您尝试将其置于横向模式,您会注意到它将起作用。您必须在横向上执行此操作,或者使用更少或更小的星星,以便它们适合屏幕的宽度。

答案 1 :(得分:1)

试试这个。

默认情况下,您RatingBar星的尺寸会更大。

style="@style/Widget.AppCompat.RatingBar.Small"

中使用RatingBar

删除android:layout_weight="1"

<RatingBar
    android:id="@+id/ratingBar"
    style="@style/Widget.AppCompat.RatingBar.Small"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:numStars="10"
    android:rating="2.5"
    android:stepSize=".5"/>

答案 2 :(得分:1)

评级栏中的星号不会被Android调整大小。在评级栏中使用自定义样式来调整评级栏的大小。

<style name="MyRatingBar" parent="@android:style/Widget.DeviceDefault.RatingBar.Indicator">
    <item name="android:minHeight">48dp</item>
    <item name="android:maxHeight">48dp</item>
</style>

然后将该样式添加到评级栏

<RatingBar
    android:id="@+id/ratingBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:numStars="10"
    android:stepSize="1.0"
    android:max="10"
    style="@style/MyRatingBar"  />

有关此问题的更多信息,请点击此处 http://web.archive.org/web/20160323223259/http://kozyr.zydako.net/2010/05/23/pretty-ratingbar/