无法更改评分栏颜色

Unable to change rating bar color

我将以下代码用于评分栏。

<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"/>

问题是我无法更改评分栏中星星的颜色。即使我尝试设置背景。我怎样才能改变星星的颜色?

试一试....

android:progressTint="@color/color"

你可以使用它...

使用android:主题属性:

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" />

我建议创建三张星图 yello_full.png、yellow_half.png 和 yellow_empty.png。现在将这些图像放在可绘制文件夹中。

在 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"/>

给你..享受编码

您可以通过设置滤色器来更改它,而不是创建可绘制对象。 例子

ratingWidget.getProgressDrawable().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);

这里的color是你要给widget设置的颜色。