Android RatingBar 自定义样式

Android RatingBar 自定义样式

1.先定义Style:
<style name="RadingStyle" parent="@android:style/Widget.RatingBar">
    <!-- 定义星星图片 -->
    <item name="android:progressDrawable">@drawable/layer_live_rating_bar</item>
    <!-- 根据自定义星星图片的大小,设置相应的值,否则可能显示不全 -->
    <item name="android:numColumns">5</item>
    //这里放一些你觉得公共的属性(你可以在控件里覆盖这里的属性)
</style>
2. Drawable里的layer_live_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/ic_rate_stroke">
    </item>
    <item
        android:id="@+android:id/secondaryProgress"
        android:drawable="@drawable/ic_rate_stroke">
    </item>
    <item
        android:id="@+android:id/progress"
        android:drawable="@drawable/ic_rate_solid">
    </item>

</layer-list>
3. 在布局文件里使用RatingBar:
//........
<RatingBar
    android:id="@+id/rb"
    style="@style/RadingStyle"
    android:layout_width="wrap_content"//宽度一般都是自适应吧
    android:layout_height="wrap_content"
    android:maxHeight="15dp"//两个都写就能限制高度
    android:minHeight="15dp"//两个都写就能限制高度
    android:rating="3"//默认的评分
    android:stepSize="0.5"//评分最小单位
    android:clickable="true"
    android:isIndicator="false"//是否只是展示,展示就不可点击
    />
//........
4. 最终效果:

5.注意点:

这两个属性同时写才能确定高度,不知道还有没其他方式

android:maxHeight="15dp"//两个都写就能限制高度
android:minHeight="15dp"//两个都写就能限制高度

isIndicator属性确定评分条是否可以点击评分,false就是只是展示而已

android:isIndicator="false"//是否只是展示,展示就不可点击

转载于:https://www.cnblogs.com/zhaohongtian/p/6808946.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值