我正在使用默认评级栏并要求stepSize为.25 - 根据文档,这应该是将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
个通知
有人有什么想法吗?
答案 0 :(得分:1)
啊 - 所以经过2天试图解决这个问题后,我终于问了问,会发生什么?我十分钟后想出来了......
这个问题出在我的绘画中。
我忘了提到的是,我正在使用第二个RatingBar,覆盖在第一个上面(只有空的透明星星),因为我在主要的一个上使用了一个颜色过滤器以便改变根据评级(红色,黄色,绿色)的星星颜色。
发生的事情是我用于主要RatingBar的drawable需要使用与覆盖完全相同的那些 - 而不是我使用的那些是我之前的主题留下的......
所以,这一切都归结为使用的图像,而不是代码。一旦我被允许,我会接受这个作为正确答案。
答案 1 :(得分:0)
尝试以编程方式设置步长:
mRating.setStepSize((float) 0.25);
在mRating.setRating(rating);
看看是否有效