评分栏在小屏幕上无法正常工作

问题描述

具有自定义主题的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标签

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...