zoukankan      html  css  js  c++  java
  • Anroid自定义RatingBar,显示半个(小数个)的stepSize时,变为整数个的问题


    <
    RatingBar android:id="@+id/rb_starbar" style="@style/joblist_item_ratingbar_style" android:layout_width="wrap_content" android:layout_height="wrap_content" android:isIndicator="false" android:numStars="5" android:rating="3.5" android:stepSize="0.5" />

    RatingBar一般都是显示整数个数的,这次因为要显示半个的Star,就把之前的样式改了一改,结果,出现了问题:

    无论怎么设置setpSize的值,每次显示的Star都是整个的。。

    <item
            android:id="@+android:id/background"
            android:drawable="@drawable/ic_gray">
        </item>
        <item
            android:id="@+android:id/secondaryProgress"
            android:drawable="@drawable/ic_orange">
        </item>
        <item
            android:id="@+android:id/progress"
            android:drawable="@drawable/ic_orange">
        </item>

    ic_orange:

    ic_gray:

    ic_setting:

    结果是这样的:

    为什么没有显示3.5个Star(=@__@=)?看了下google的文档解释:

    android:secondaryProgress Defines the secondary progress value, between 0 and max.

    接下来替换secondaryProgress的drawable,看下结果:

      <item
            android:id="@+android:id/secondaryProgress"
            android:drawable="@drawable/ic_setting">
        </item>

    结果如下:

    此处的secondaryProgress会向上取整(Math.cell())的显示图像。

    然后一开始的问题也就迎刃而解了。

    下面的secondaryProgress部分和第一个secondaryProgress,已经调换的drawable。

     <item
            android:id="@+android:id/background"
            android:drawable="@drawable/ic_gray">
        </item>
        <item
            android:id="@+android:id/secondaryProgress"
            android:drawable="@drawable/ic_gray">
        </item>
        <item
            android:id="@+android:id/progress"
            android:drawable="@drawable/ic_orang">
        </item>
  • 相关阅读:
    C++基础学习6:内联函数
    lvm
    yum源
    mysql性能优化
    PXE
    dns配置
    进程命令
    ssh免密登陆和加密解密
    RAID阵列
    快速部署postfix邮件服务器
  • 原文地址:https://www.cnblogs.com/FightForFreedom/p/4541355.html
Copyright © 2011-2022 走看看