<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([email protected][email protected]=)?看了下google的文档。
android:secondaryProgress | Defines the secondary progress value, between 0 and max. |
但是还是不大清楚 secondary progress是什么意思。
那么改下secondaryProgress看下效果:
<item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/ic_setting"> </item>
结果变成了这样:
这下就恍然大悟了。。
这个secondaryProgress会向上取整的显示的。
然后一开始的问题也就迎刃而解了。
请注意下面的secondaryProgress部分和第一个secondaryProgress的区别。
<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>
谢谢,注意secondaryProgress对应的图片就可以了。
时间: 2024-10-05 04:58:23