将 Margin/Padding 添加到 RatingBar

Adding Margin/Padding to a RatingBar

我有一张这样的评分栏图片:

现在,我想知道如何为评分栏中的每个项目添加 margin/padding?

styles.xml

<resources>
<style name="starRatingBar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@layout/starratingbar_full</item>
    <item name="android:minHeight">19dp</item>
    <item name="android:maxHeight">19dp</item>
</style>
</resources>

starratingbar_full.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="20dp"
android:layout_width="30dp">

<item android:id="@+android:id/background"
    android:drawable="@drawable/starunselected"
    />
<item android:id="@+android:id/secondaryProgress"
    android:drawable="@drawable/starunselected" />
<item android:id="@+android:id/progress"
    android:drawable="@drawable/starselected" />
</layer-list>

activity.xml

<RatingBar
style="@style/starRatingBar"
android:numStars="5"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/ratingBar"
android:layout_marginLeft="130dp"
android:layout_marginTop="88dp"
android:stepSize="1"/>

有人能帮忙吗?

如果你为星星使用Drawable。根据您的要求确保您的 drawable 有一些左填充。

否则通过代码无法正常工作。几天前我遇到了同样的问题。我通过使用左填充图像完成了。希望有用。

使用任何 photoshop 或任何编辑器 只需在 PNG 的左侧和右侧添加一些空的 space。