我正在使用以下代码进行评分栏。
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:stepSize="1.0"
android:background="@color/yellow"/>
问题是我无法改变评级栏中的星星颜色。即使我尝试设置背景。如何更改星的颜色?
答案 0 :(得分:4)
试试吧......
android:progressTint="@color/color"
或
你可以使用它......
使用 android:theme属性:
<强> styles.xml 强>
<style name="Theme.Rating" parent="Theme.AppCompat.Light">
<item name="colorAccent">@color/rating</item>
</style>
<强> layout.xml 强>
<android.support.v7.widget.AppCompatRatingBar
android:theme="@style/Theme.Rating"
android:numStars="5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
答案 1 :(得分:0)
我建议创建三星图像yello_full.png,yellow_half.png和yellow_empty.png。现在把这些图像放在drawable文件夹中。
在drawable中创建一个xml文件并放入此代码
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background"
android:drawable="@drawable/yellow_empty" />
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/yellow_half" />
<item
android:id="@android:id/progress"
android:drawable="@drawable/yello_full" />
</layer-list>
现在在您的评分栏中添加此
<RatingBar
android:progressDrawable="@drawable/ratingbar_yellow"/>
在这里你去..享受编码
答案 2 :(得分:0)
您可以通过设置滤色器来更改它,而不是创建可绘制的。 实施例
ratingWidget.getProgressDrawable().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
此处颜色是您要设置为窗口小部件的颜色。