如何在评级栏中给每个星星留出空间

时间:2017-02-14 04:19:01

标签: android android-layout android-studio

我创建了自定义评级栏。我在app中设置了默认的小评级栏。但是星星的差距是没有的。如何在每颗恒星中留出空隙?我可以给出下面给出的xml文件代码:

customratingbar.xml:

<?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/ic_star_normal"

        ></item>

    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/ic_star_selected"></item>

    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/ic_star_selected"></item>

</layer-list>

Styles.xml:

<style name="CustomRating" parent="android:style/Widget.Material.RatingBar.Small">

        <item name="android:progressDrawable">@drawable/custom_ratingbar</item>
        <item name="android:paddingBottom">4dip</item>
        <item name="android:layout_marginLeft">4dip</item>
        <item name="android:layout_marginRight">5dip</item>
        <item name="android:layout_marginTop">4dip</item>

    </style>
我犯了什么错误?我不知道。我怎么解决这个问题?我是初学者,我不知道。

2 个答案:

答案 0 :(得分:1)

您可以与UI/UX设计师联系,也可以使用images工具重新创建切片Android Asset Studio

Android Asset Studio上传明星Image并设置填充您想要的内容。比如8dp

答案 1 :(得分:0)

首先检查图像大小,如高度和宽度。

然后你只需添加你的styles.xml - 你可以改变身高

<style name="CustomRating" parent="android:style/Widget.Material.RatingBar.Small">
   <item name="android:progressDrawable">@drawable/custom_rating</item>
        <item name="android:minHeight">40dp</item>
        <item name="android:maxHeight">40dp</item>
</style>

最后你将它添加到你的布局中。

 <RatingBar
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:numStars="5"
  android:fitsSystemWindows="true"
  style="@style/CustomRating"
  android:id="@+id/rating_bar" />