Как изменить Android рейтинг бар звезды?

Я пытаюсь изменить звезды моя оценка бар, создавая новый стиль, это то, что я сделал :

<style name="RatingBarSmall" parent="android:Widget.DeviceDefault.Light.RatingBar.Indicator">
        <item name="android:progressDrawable">@drawable/rating_bar</item>
        <item name="android:minHeight">36dp</item>
        <item name="android:maxHeight">36dp</item>
    </style>

drawable / rating_bar:

<?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/rating_star_empty" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/rating_star_empty" />
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/rating_star_filled" />
</layer-list>

рейтинг бар xml вид:

<RatingBar
                    android:id="@+id/ratingBar"
                    style="@style/RatingBarSmall"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="0"
                    android:isIndicator="true"
                    android:rating="5" />

и вот буксирные изображения:

rating_star_empty rating_star_filled

но я не знаю, почему у меня есть вертикальные линии под звездами, как вы можете видеть в картинке ниже: enter image description here

изменить: Решено: я просто установил высоту рейтингового бара как высоту изображения.

спасибо

1 ответов


Я вижу эту проблему таким образом. Вы можете создавать любые значения в res/values/dimens.xml для каждого экрана (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi), как:

<dimen name="rating_min_height">36dp</dimen>
<dimen name="rating_min_width">36dp</dimen>

и так:

<style name="RatingBarSmall" parent="android:Widget.DeviceDefault.Light.RatingBar.Indicator">
    <item name="android:progressDrawable">@drawable/rating_bar</item>
    <item name="android:minHeight">@dimen/rating_min_height</item>
    <item name="android:maxHeight">@dimen/rating_min_width</item>
</style>

или вы можете применить эту логику к вашему drawable (rating_star_empty и rating_star_filled)