Android学习 (十四) 评分控件之RatingBar

Android高版本中有一个自带控件:RatingBar,是一个评分控件。

定义方式和其他基本控件一样,都是在布局文件里面:


    <RatingBar
        android:id="@+id/rating_bar"
        android:layout_width="wrap_content"
        android:layout_height="45dp"
        android:background="#dcdcdc"
        android:rating="2"
        android:stepSize="5"
        android:stepSize="0.5"
        android:clickable="true"
        android:isIndicator="false"
       />

RatingBar控件的一些基本属性如下:

rating:设置默认点亮的星星数,为整形
numStarts:设置总共的星星数,为整形
stepSize:步长,就是每次点击所点亮的星星长度,为浮点类型
这是最基本的,其他的可以自己百度一下。

默认效果如下:

这里写图片描述

当然,你可以在上面实现评分多少的改变的,只需要在评分条上左右滑动就行。

但是

我想大部分人都不会满足于简单的默认模式,所以接下来写一下自定义评分条的过程,很简单。

1.首先,你的准备两张照片 like this:
这里写图片描述 这里写图片描述

灰色的作为背景,红色的作为评分后的样式。

2.然后,在dramable文件目录下,新建root_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_nearby_star_grey"/>
    <item android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/ic_nearby_star_grey"/>
    <item android:id="@android:id/progress"
        android:drawable="@drawable/ic_nearby_star_red"/>
</layer-list>

说明一下,里面的三个id,全都是系统自带的id,你只需要写出来就是了,系统会自动匹配。
图片是我上面说的两张图片,第一个和第二个id图片是一样的,第三个是评分后显示的id。

3 接着,去styles.xml文件中如下定义:

    <style name="myRatingBar" parent="@android:style/Widget.RatingBar">
        <!-- 定义星星图片 -->
        <item name="android:progressDrawable">@drawable/root_rating_bar</item>
     </style>

语句中的progressDrawable是评分控件的样式,引用的就是之前我们自己定义的root_rating_bar.xml文件,给这个style文件取名叫myRatingBar。

4.再来,在你的想要显示的布局上面添加RatingBar控件,并做一些属性的设置。
这里第一句,style=”@style/myRatingBar”,就是引用我们自定义的控件样式。

<RatingBar
            style="@style/myRatingBar"
            android:id="@+id/rating_bar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:numStars="5"
            android:stepSize="0.5"
            android:rating="2.5"
            />

这样就大功搞成了。最后的样式就不贴了,还有一部分其他文件没写完,有机会再补。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值