Android RatingBar设置等级不';行不通
我试图将int值显示为分级栏。最大值为5 这是我的XML文件:Android RatingBar设置等级不';行不通,android,ratingbar,Android,Ratingbar,我试图将int值显示为分级栏。最大值为5 这是我的XML文件: <RatingBar android:id="@+id/ratBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:isIndicator="false" android:numStars="
<RatingBar
android:id="@+id/ratBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="false"
android:numStars="5" />
但是如果我用setRating()设置等级,android会吸引很多星星。因为我的屏幕太小,我无法计算出有多少
有谁能告诉我出了什么问题吗?您需要定义自己的自定义样式,以实现对
分级栏的要求。
尝试创建样式
,并在分级栏
视图中应用该样式
像这样:
@可抽出式/食品配料杆
48dip
48dip
查看更多详细信息。您也可以尝试此功能
<RatingBar
android:id="@+id/ratingBar"
style="?android:attr/ratingBarStyleIndicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/artist"
android:layout_below="@+id/artist"
android:numStars="5"
android:rating="2.0"
android:stepSize="1.0" />
我无法理解您的问题到底是什么,但在Android应用程序中使用RatingBar还是很容易的。您需要在适当的位置定义分级栏
<RatingBar
android:id="@+id/ratingBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="true"
android:max="5"
android:numStars="3" />
并开始设置填充星星的值
this.rb.setRating(2); , this.rb.setRating((float)2.5); etc.
如果你的屏幕太小,不能显示五颗星,你可以设置星星的数量,就像我上面所做的那样。你有几个选择
1) 您可以将两个分级条一个放在另一个下,一个带3,另一个带2颗星。当您的数字超过3时,您可以继续填充底部比率栏的2颗星
2) 如果可能,可以设置浮点值而不是整数。这样,您就可以设置1、1.5、2、2.5、3、3.5等,并且在经过一点代数运算后,您可以为间隔1-5填充3颗星。当您在分级栏样式中设置的可绘制大小与背景、辅助进度和进度的png大小不同时,就会出现这种情况
把它改成
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@android:color/transparent" />
<item android:id="@android:id/secondaryProgress"
android:drawable="@drawable/star_half" />
<item android:id="@android:id/progress"
android:drawable="@drawable/star_full" />
能否显示用于设置诅咒等级的Java代码:rat.setRating(temp.getInt(“rat”);temp.getInt(“rat”)给我一个介于1和5之间的整数。试试thissetRating()不会改变星星的数量,它只会填充星星。我们可以看到设置评级栏的完整java代码吗?
private RatingBar rb;
...
this.rb = (RatingBar) findViewById(R.id.ratingBar1);
this.rb.setRating(2); , this.rb.setRating((float)2.5); etc.
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@android:color/transparent" />
<item android:id="@android:id/secondaryProgress"
android:drawable="@drawable/star_half" />
<item android:id="@android:id/progress"
android:drawable="@drawable/star_full" />