我在我的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" />
答案 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