升级Google Play Services 7.5.0后,RatingBar颜色显示为白色

时间:2015-06-24 13:48:49

标签: android android-widget google-play-services ratingbar

我的应用程序运行良好,直到我升级到'com.google.android.gms:play-services:7.5.0'。我在一项运作良好的活动中使用了RatingBar。但升级后,Ratingbar颜色显示为白色。即使我尝试使用代码和布局更改颜色,但颜色显示为白色。但当我触摸评级栏时,会出现一些绿色的评级栏。

代码:

<RatingBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/ratingBar"
    android:layout_gravity="center_horizontal"
    android:numStars="5"
    android:theme="@style/Theme.AppCompat.Light"
    android:stepSize="0.5"
    android:progressBackgroundTint="#ff048ec4"
    android:progressTint="#ff048ec4"
    android:progressBackgroundTintMode="multiply"
    android:progressTintMode="multiply" />

问题仅在于版本低于Lollipop。 Lollipop没有问题,但在Kitkat&amp;较低版本颜色显示为白色。

有谁知道这方面的解决方案? 在此先感谢。

1 个答案:

答案 0 :(得分:0)

<强> For API >= 21

Drawable progress = ratingBar.getProgressDrawable();
DrawableCompat.setTint(progress, Color.YELLOW);

<强> For API < 21

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