更改android中的ratingbar颜色

时间:2016-02-01 11:29:43

标签: android ratingbar

我在我的android项目中实现了RatingBar,它的工作完美但我想更改ratingbar填充颜色,现在默认它填充绿色,但我想换成另一种颜色,     下面我附上了我的评级栏图片,请任何人帮我如何更改评级栏的颜色,感谢你

 http://i.stack.imgur.com/3cN13.png


 **xml code:**

 <RatingBar
    android:id="@+id/ratingBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="6dp"
    android:layout_marginTop="5dp"
    android:layout_toRightOf="@id/ratingAndReviewtext"
    android:isIndicator="?android:attr/ratingBarStyleIndicator"
    android:numStars="5"
    android:rating="0.0"
    android:stepSize="0.0" />

2 个答案:

答案 0 :(得分:8)

以编程方式尝试使用代码

 RatingBar ratingBar = (RatingBar) findViewById(R.id.ratingBar);
    LayerDrawable stars = (LayerDrawable) ratingBar.getProgressDrawable();
    stars.getDrawable(2).setColorFilter(Color.YELLOW, PorterDuff.Mode.SRC_ATOP);

答案 1 :(得分:1)

  

步骤1:通过克隆其中一个现有样式来创建自己的样式   (来自$ANDROID_HOME/platforms/$SDK/data/res/values/styles.xml),   将它放在您自己的项目styles.xml中,并在以后引用它   您将小部件添加到布局。

     

步骤2:为自己创建自己的LayerDrawable XML资源   RatingBar,指向用于栏的适当图像。该   原始样式将指向您可以使用的现有资源   与之比较。然后,调整您的样式以使用您自己的LayerDrawable   资源,而不是内置资源。

参考:https://stackoverflow.com/a/2447209/3891036

评级栏示例&amp;教程:http://www.skholingua.com/android-basic/user-interface/form-widgets/ratingbar