[英]Android RatingBar - quarter star step size
我正在使用默认评级栏并且需要一个.25的stepSize - 根据文档,这应该是将xml属性android:stepSize
为0.25
的简单问题。
目前,这已经到位,总xml为:
<RatingBar
android:id="@+id/ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/RatingBarBig"
android:layout_below="@+id/score"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:paddingBottom="5dp"
android:layout_centerVertical="true"
android:isIndicator="true"
android:stepSize="0.25"
android:numStars="5"
android:rating="0"/>
我使用以下代码以编程方式使用3.25
的浮点填充评级栏:
float rating = 3.25f;
RatingBar mRating = (RatingBar) findViewById(R.id.ratingbar);
mRating.setRating(rating);
所以,问题是评级栏本身正在填充显示3.5
而不是3.25
。 我甚Log.d
在rating
浮点数和mRating.getRating
的输出上设置了Log.d
通知
有人有什么想法吗?
啊 - 所以经过2天试图解决这个问题后,我终于问了问,会发生什么? 我十分钟后想出来......
问题出在我的抽签中。
我忘了提到的是,我正在使用第二个RatingBar,覆盖在第一个上面(只有空透明的星星),因为我在主要的一个上使用滤色器以改变颜色根据评级(红色,黄色,绿色)的星星。
发生的事情是我用于主要RatingBar的drawable需要使用与覆盖完全相同的 - 而不是我使用的那些是我之前的主题留下的......
所以,这一切都归结为使用的图像,而不是代码。 一旦我被允许,我会接受这个作为正确的答案。
尝试以编程方式设置步长:
mRating.setStepSize((float) 0.25);
在mRating.setRating(rating);
之前调用它mRating.setRating(rating);
看看这是否有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.