自定义样式 RatingBar
在现实项目中我们都会用到自定义样式的RatingBar,先上效果图吧。
要实现这样的效果并不难,只需要以下几个步骤即可:
1、现在xml文件中加上RatingBar控件,但是该控件是引用系统自带的样式
<RatingBar
android:id="@+id/jfpl_rat"
android:layout_width="wrap_content"
android:layout_height="32dip"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp"
android:numStars="5"
android:stepSize="1" />
android:id="@+id/jfpl_rat"
android:layout_width="wrap_content"
android:layout_height="32dip"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp"
android:numStars="5"
android:stepSize="1" />
2、自定义样式:在style中加入样式
<style name="ratingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/rating</item>
<item name="android:minHeight">15dip</item>
<item name="android:maxHeight">40dip</item>
</style>
<item name="android:progressDrawable">@drawable/rating</item>
<item name="android:minHeight">15dip</item>
<item name="android:maxHeight">40dip</item>
</style>
注:第二句是进度图片,所以我们需要在了res文件夹中创建一个drawable,然后再drawable中创建rating。
3、在Rating中自定义自己的进度图片样式
star1(
) star(
)
<?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/star1">
</item>
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/star1"></item>
<item android:id="@+android:id/progress"
android:drawable="@drawable/star"></item>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+android:id/background"
android:drawable="@drawable/star1">
</item>
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/star1"></item>
<item android:id="@+android:id/progress"
android:drawable="@drawable/star"></item>
</layer-list>
第一个item设置是背景图片,第二个item是设置第二个进度条的背景图片,第三个item是设置进度图片。
4、在xml的RatingBar控件中添加样式style="@style/ratingBar"
具体如下:
<RatingBar
android:id="@+id/jfpl_rat"
style="@style/ratingBar"
android:layout_width="wrap_content"
android:layout_height="32dip"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp"
android:numStars="5"
android:stepSize="1" />
android:id="@+id/jfpl_rat"
style="@style/ratingBar"
android:layout_width="wrap_content"
android:layout_height="32dip"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp"
android:numStars="5"
android:stepSize="1" />
代码下载:http://download.youkuaiyun.com/detail/greatsuny/7558587