如何自定义RatingBar

对于系统定义的RatingBar往往不符合你的需求,所以通常我们可以通过自定义来完成这个控件的二次变形。

准备:

1 两张图片 一张满星状态的,一张空星状态的。

然后我们就可以动手了,主要就是写个style

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<style name="roomRatingBar" parent="@android:style/Widget.RatingBar">
		<item name="android:progressDrawable">@drawable/room_rating_bar</item>
		<item name="android:minHeight">16dip</item>
		<item name="android:maxHeight">16dip</item>
	</style>
</resources>
然后这里的room_rating_bar是异步xml文件,放在drawable下,主要作用,替换三种状态的图片。(不是两张图片么,这里系统会自动帮你画好的)

<?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/room_unselect"></item>
	<item android:id="@+android:id/secondaryProgress"
	android:drawable="@drawable/room_unselect"></item>
	<item android:id="@+android:id/progress"
	android:drawable="@drawable/room_select"></item>
</layer-list>
最后在布局文件引用这个style 就可以了

style="@style/roomRatingBar"

大功告成,快去测试吧



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值