我的应用程序运行良好,直到我升级到'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;较低版本颜色显示为白色。
有谁知道这方面的解决方案? 在此先感谢。
答案 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);