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

    xiaoxiao2021-12-03  19

    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" />

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

    转载请注明原文地址: https://ju.6miu.com/read-679968.html

    最新回复(0)