如何设置安卓评级栏笔画的颜色?(不是星星的颜色,而是边框的颜色)
我是一个机器人初学者,我想做我的自定义评级栏。
免责声明:它不是重复的。因为我读过的所有帖子都询问如何更改星星的颜色以及如何删除笔画。这不是我想要的。我希望有笔触,并能够改变边框的颜色。
具有透明和黄色笔触,空,黄色背景和笔触为一半和填充。
我不想使用 pngs。我已经有我自己的,但它们太小了。我只是不想要求设计师制作新的星星,如果我只能使用XML属性和可绘制对象来制作星星。
<RatingBar
android:id="@+id/thread_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="true"
android:numStars="5"
android:progressBackgroundTint="@color/gray"
android:progressTint="@color/gold"
android:rating="2.5"
android:secondaryProgressTint="@color/gray"
android:stepSize="0.5"
style="?android:attr/ratingBarStyleSmall"
/>
我和另一位工程师一起研究这个问题。他还在java文件中编写了代码。
private void setRatingBarStart(RatingBar rating_bar) {
LayerDrawable stars = (LayerDrawable) rating_bar.getProgressDrawable();
stars.getDrawable(2)
.setColorFilter(getResources().getColor(R.color.gold),
PorterDuff.Mode.SRC_ATOP); // for filled stars
stars.getDrawable(1)
.setColorFilter(getResources().getColor(R.color.light_gray),
PorterDuff.Mode.SRC_ATOP); // for half filled stars
stars.getDrawable(0)
.setColorFilter(getResources().getColor(R.color.light_gray),
PorterDuff.Mode.SRC_ATOP); // for empty stars
[所以现在它有灰色背景,黄色表示填充,现在没有笔画。
我已经知道如何将背景设置为透明并使其变为黄色。我只是不知道如何设置笔触颜色。多谢!!!!