问题描述
具有自定义主题的android的默认评分栏无法正常工作,因为当我们点击特定的星星时,下一个星星会自动被选择,对于取消选择的星星,我们需要点击我要取消选择的当前星星中的前2个星星
我的XML代码
<ratingBar
android:id="@+id/rate_bar"
style="@style/StarratingBarCheckout"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginTop="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
android:numStars="5" />
评分栏的样式是 StarratingBarCheckout ,我在 style.xml
中已提到 <style name="StarratingBarCheckout" parent="@android:style/Widget.ratingBar">
<item name="android:progressDrawable">@drawable/star_rating_bar_full_checkout</item>
<item name="android:minHeight">35dip</item>
<item name="android:maxHeight">35dip</item>
<item name="android:stepSize">1</item>
</style>
star_rating_bar_full_checkout.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/star_ratingbar_full_empty_checkout"
/>
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/star_ratingbar_full_empty_checkout"
/>
<item
android:id="@android:id/progress"
android:drawable="@drawable/star_ratingbar_full_filled_checkout" />
</layer-list>
解决方法
尝试将 android:stepSize =“ 1” 放入ratingBar标签