1、需要两张评分图片ic_rating_highlight.png ic_rating_normal_white.png(宽高都是52px,且有内边距)
将这两张图片添加到各分辨率文件夹下
开发过程:
1.1 根据设计图,1个星星约等于1/3指尖宽高,而指尖宽高取47dp,所以一个星星宽高取 47dp/3,即16dp
1.2 根据dp与px的关系,在xxhdpi分辨率下,16dp对应的宽高为48px,所以星星切片应当在48px左右,并放到drawable/mipmap xxhdpi下
在不同分辨率下即可进行自适应
2、drawable下添加dw_ratingbar_white.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="@mipmap/ic_rating_normal_white"/>
<item
android:id="@android:id/secondaryProgress"
android:drawable="@mipmap/ic_rating_normal_white"/>
<item
android:id="@android:id/progress"
android:drawable="@mipmap/ic_rating_highlight"/> </layer-list>
3、values下styles.xml里添加
<style name="bgWhiteRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/dw_ratingbar_white</item>
<item name="android:maxHeight">16dp</item>
<item name="android:minHeight">16dp</item>
</style>
4、评分条布局
<!--星级-->
<RatingBar
android:id="@+id/rating_bar_home"
style="@style/bgWhiteRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginLeft="20dp"
android:isIndicator="true"
android:numStars="5"
android:stepSize="1"/>
附: