RatingBar星级评价是我们在做电商APP常用的东西,设计可能会根据自己不同的风格来设计RatingBar的样式。
首先看效果图:
那么我们需要自己定义下RatingBar样式了room_rating_bar,看代码。
首先需要定义一个设置背景的
<?xml version="1.0" encoding="utf-8"?>
<!--
This is the rating bar drawable that is used to show a room num.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+android:id/background"
android:drawable="@drawable/ratting"></item>
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/ratting"></item>
<item android:id="@+android:id/progress"
android:drawable="@drawable/ratting_show"></item>
</layer-list>
里面的drawable则要美工提前准备好。ratting_show是选择后的图片。ratting是默认的图片。
接下来我们需要在style里面定义自己的RatingBar的样式了。
见代码:
<style name="MyRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/room_rating_bar</item>
<item name="android:minHeight">20dp</item>
<item name="android:maxHeight">15dp</item>
</style>
里面的room_rating_bar则引用上面写的。那么整个样式就搞好了。只要在控件里面用就好了。
看代码:
<RatingBar
android:id="@+id/c_rBar"
style="@style/MyRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="12dp"
android:isIndicator="true"
android:numStars="5"
android:rating="3" />