Android评分条(RatingBar)numStart不起作用。

4
我在我的应用程序中有一个简单的RatingBar,我设置了numStarts="5",但它显示的星星数量超过了5个。当我设置android:layout_width="match_parent"时,我尝试了几个教程,但都没有起作用。根据文档,numStarts用于显示星星数量,但在我的情况下它不起作用。我查阅了文档和几个教程,但没有找到任何解决方案。

enter image description here

但我只想在评分栏中显示5颗星。
我的评分栏如下所示:
<RatingBar
    style="@style/customRatingBar"
    android:id="@+id/course_rating_bar"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:layout_marginRight="16dp"
    android:layout_marginLeft="16dp"
    android:numStars="5"
    android:isIndicator="false"
    android:stepSize="1.0"/>

这是我的自定义样式

<style name="foodRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/ratingstars</item>
        <item name="android:minHeight">22dip</item>
        <item name="android:maxHeight">22dip</item>
    </style>

......

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+android:id/background"
        android:drawable="@drawable/star_empty" />
    <item android:id="@+android:id/secondaryProgress"
        android:drawable="@drawable/star_empty" />
    <item android:id="@+android:id/progress"
        android:drawable="@drawable/star" />
</layer-list>

你现在解决那个问题了吗? - Zvi
1个回答

13

你需要设置 android:layout_width="wrap_content" 而不是 "match_parent"。这样你就能得到 5 颗星了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接