Xml文件:
<RatingBar
android:id="@+id/row_item_rbRatingAvg"
style="@style/CustomRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:isIndicator="true" />
样式文件:
<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/ratingstars</item>
<item name="android:minHeight">@dimen/rating_bar_height</item>
<item name="android:maxHeight">@dimen/rating_bar_height</item>
</style>
ratingstars.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/star_icon_a" />
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/star_icon_a" />
<item android:id="@+android:id/progress"
android:drawable="@drawable/star_icon" />
</layer-list>
dimens.xml
<dimen name="rating_bar_height">38px</dimen>
我用于设置我的自定义评级栏的上述文件。我还为star_icon_a和star_icon提供了不同大小的图像。但仍然没有工作。在某些设备中,图像会缩放,并在某些设备图像中被切割。我不知道如何制作所有屏幕尺寸。
下面的是drawable-xxhdpi大小的样本。