android自定义RatingBar

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值