将保证金/填充添加到RatingBar

时间:2015-06-01 10:34:53

标签: java android xml layout drawable

我有一个像这样的评级栏的图像:

enter image description here

现在,我想知道如何为评级栏中的每个项目添加保证金/填充?

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

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

使用任何photoshop或任何编辑器 您可以在PNG的左侧和右侧添加一些空白区域。

答案 1 :(得分:2)

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

否则通过代码无效。几天前我遇到了同样的问题。我通过使用左填充图像完成了。希望它能奏效。