美文网首页
自定义RatingBar

自定义RatingBar

作者: Ted_Wang | 来源:发表于2016-07-29 18:48 被阅读0次

    样式

    android系统自带了三种RatingBar的样式
    style="@android:style/Widget.Holo.RatingBar"

    Paste_Image.png

    style="@android:style/Widget.RatingBar"//系统默认

    Paste_Image.png

    style="@android:style/Widget.Material.RatingBar"

    Paste_Image.png

    style="@android:style/Widget.DeviceDefault.RatingBar"

    Paste_Image.png

    基本上跟产品需求是不一样的,所以一般情况下需要自定义自己的style

    自定义

    <style name="MyRatingBar"    
           parent="Widget.AppCompat.RatingBar">    
        <item name="android:minHeight">15dp</item>    
        <item name="android:maxHeight">15dp</item>    
        <item name="android:thumb">@null</item>    //设置拖动游标的样式
        <item name="android:isIndicator">false</item>    //是否是一个指示器(true就是是指示器就不能交互啦)
        <item name="android:progressDrawable">@drawable/bg_ratingbar</item>
    </style>
    
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">    
        <item android:id="@android:id/background"
        android:drawable="@drawable/star_ratingbar_off"></item>    
        <item android:id="@android:id/progress"        
        android:drawable="@drawable/star_ratingbar_on"></item>    
        <item android:id="@android:id/secondaryProgress"         
        android:drawable="@drawable/star_ratingbar_on"></item>
    </layer-list>
    

    background就是没有填充颜色的背景图片
    progress就是需要填充的背景
    secondaryProgress副进度条,没有定义这个就不会有半个星星的效果,每次都会画出一整颗星星
    最终效果

    Paste_Image.png

    RatingBar的一些属性

    android:isIndicator//上面已经说过了,是否可以交互
    android:numStars//int 显示的数量
    android:rating//float 默认评分
    android:stepSize// float 步长
    getRating()//获取当前评分
    public void setOnRatingBarChangeListener (RatingBar.OnRatingBarChangeListener listener)//监听

    相关文章

      网友评论

          本文标题:自定义RatingBar

          本文链接:https://www.haomeiwen.com/subject/jqvzjttx.html