我正在尝试将 int 值显示为 ratingBar。最大值为 5。
这是我的 XML 文件:
<RatingBar
android:id="@+id/ratBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="false"
android:numStars="5" />
但是如果我用 setRating() 设置评级,android 会吸引很多星星。我不知道有多少,因为我的屏幕太小了。
谁能告诉我哪里出了问题?
最佳答案
我无法理解您的问题到底是什么,但无论如何在 Android 应用程序中使用 RatingBar 非常简单。您需要在适当的位置定义您的 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" />
在您的 Activity 中获取对它的引用;
private RatingBar rb;
...
this.rb = (RatingBar) findViewById(R.id.ratingBar1);
并开始设置值来填充星星;
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 颗星。
关于Android RatingBar setRating 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13436051/