如何通过编程设置评分条的样式?

6
我没有看到类RatingBar中像setStyle这样的方法。我该如何从代码中设置评分样式?

1
如何以编程方式设置视图中的样式属性 - Casebash
5
不是重复问题。评分条具有不同的属性和功能。例如设置星形图像、星形高度等内容,将无法从那个问题中得到答案。 - StackOverflowed
3个回答

13

这对我起作用(来源):

RatingBar rating =
  new RatingBar(context, null, android.R.attr.ratingBarStyleSmall);

这个在任何事件中都不起作用,但视图是正常的。 - Ashish Dwivedi

2

你需要在xml文件中设置它!如果你想在运行时更改它,你可以有两个不同的View(rb),并在程序中切换它们(从布局中添加/删除)或使用rb1.setVisibility(View.VISIBLE)和rb2.setVisibility(View.GONE)。

<RatingBar 
    android:layout_height="wrap_content" android:layout_width="wrap_content"
    android:layout_alignParentRight="true" android:id="@+id/rb1"
    style="?android:attr/ratingBarStyleSmall"
    android:clickable="false" android:numStars="5">
</RatingBar>

1
如果您按照以下方式通过编程创建RatingBar,则不要忘记添加:RatingBar rating = new RatingBar(context, null, android.R.attr.ratingBarStyleSmall);

rating.setIsIndicator(false);

否则,触摸功能将无法在RatingBar上工作。
如果想要略大一些的星星,可以使用android.R.attr.ratingBarStyleIndicator,而android.R.attr.ratingBarStyleSmall会给你非常小的星星。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接