当我尝试将我的星星颜色从RatingBar更改为ListView Adapter时,我遇到问题,我不明白为什么不起作用,因为在ListView之外,所有内容似乎都可以使用相同的代码正常工作。

我更改星色的代码是:

DrawableCompat.setTint(holder.ratingBar.getProgressDrawable(), pContext.getResources().getColor(R.color.orange));


有人遇到这个问题吗?

更新:我已解决此代码的问题

LayerDrawable layerDrawable = (LayerDrawable) holder.ratingBar.getProgressDrawable();
        DrawableCompat.setTint(DrawableCompat.wrap(layerDrawable.getDrawable(0)), Color.RED);   // Empty star
        DrawableCompat.setTint(DrawableCompat.wrap(layerDrawable.getDrawable(1)), Color.BLUE); // Partial star
        DrawableCompat.setTint(DrawableCompat.wrap(layerDrawable.getDrawable(2)), Color.BLUE);  // Full star

最佳答案

我相信您遇到的与此类似的问题,似乎是支持库中的错误。

https://code.google.com/p/android/issues/detail?id=172067

09-30 09:10