android自带的RatingBar虽然可以通过progressTint来设置颜色,只有3种大小风格可用,星星样式也比较单一。
自定义:
1.准备3张星星图案,如full_start,half_star
,empty_star
2.右键drawable--new Drawable resource file,然后
my_rating_bar.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/empty_star" />
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/half_star" />
<item
android:id="@android:id/progress"
android:drawable="@drawable/full_star" />
</layer-list>
3.在res/values/styles.xml下添加一个新style
<style name="MyRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/my_rating_bar</item>
<item name="android:minHeight">11dp</item>
<item name="android:maxHeight">11dp</item>
</style>
minHeight与maxHeight一样就确定了RatingBar的高度了。这个高度就是星星的高。因为我的星星是32x32的,放到了xxhdpi下,density=3,所以高度为32/3=11dp
tip:想更改星星大小,只能改图片,然后重新设置minHeight&maxHeight