自定义评级栏中的星星之间的间距

时间:2011-12-05 15:01:06

标签: android

Spacing between the stars of a rating bar?

我有类似的问题,但我没有找到解决方案,无需更改图像。 也许某些人遇到了这样的问题并解决了它。

提前致谢。

2 个答案:

答案 0 :(得分:1)

创建一个自定义样式,使用您自己的图像,它们之间的间距不同。

在这样的布局中使用它:

<RatingBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@style/RatingBarLarge"/>

定义这样的风格:

<style name="RatingBarLarge">
    <item name="android:progressDrawable">@drawable/ic_rating_star_large</item>
    <item name="android:minHeight">29dp</item>
</style>

将minHeight设置为可绘制高度的任何值 然后,将ic_rating_star_large定义为图层列表,如下所示:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/ic_rate_star_large_off" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/ic_rate_star_large_off" />
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/ic_rate_star_large_on" />
</layer-list>

答案 1 :(得分:0)

您是否在评级栏中使用相同类型的代码?

//?android:attr / ratingBarStyle- normal star

//?android:attr / ratingBarStyleSmall - 小星星

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:background="@android:drawable/toast_frame">
    <RatingBar android:layout_width="wrap_content"
        android:layout_height="wrap_content" style="?android:attr/ratingBarStyle"
        android:id="@+id/ratingbar_default" 
        android:layout_marginTop="5dp"
        android:layout_marginLeft="-8dp"

         />
</RelativeLayout>