Anroid自定义RatingBar,显示半个(小数个)的stepSize时,变为整数个的问题
Fri, Jan 1, 2016 标签: AndroidRatingBar一般都是显示整数个数的,这次因为要显示半个的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())的显示图像。
如此,一开始的问题也就迎刃而解了。
以下为正确的XML文件配置代码:
(下面的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>