Android рейтинговая панель в маленьком стиле

я попытался создать небольшую панель рейтинга, что-то вроде этого

   <RatingBar
                    android:id="@+id/ratingBar"
                    style="?android:attr/ratingBarStyleSmall"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:layout_marginTop="10dp"
                    android:numStars="5"
                    android:rating="3.5" />

и он отлично работает, теперь мне нужно заменить звездочку на собственное изображение, подобное этому

 <style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/ratingbar</item>

    </style>

рейтингбар.xml

<?xml version="1.0" encoding="utf-8"?>
<!--suppress AndroidDomInspection -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+android:id/background"
        android:drawable="@drawable/ic_love_empty" />
    <item android:id="@+android:id/secondaryProgress"
        android:drawable="@drawable/ic_love_empty" />
    <item android:id="@+android:id/progress"
        android:drawable="@drawable/ic_love_fill" />
</layer-list>

проблема здесь с размером полосы рейтинга, он очень большой и обрезанный, как я могу заменить @android:style/Widget.RatingBar этим ?android:attr/ratingBarStyleSmall, или если какое-либо другое решение или библиотека мне подходят, но мне нужен маленький


person Moayed Alayaseh    schedule 23.09.2017    source источник


Ответы (2)


Однажды у меня была проблема, подобная вашей, из-за которой Android, похоже, не учитывает изменение размера полос рейтинга. Все стили, которые я применил, были недостаточно малы для моего варианта использования. В итоге я использовал сторонние библиотеки. Первый или Второй Эти библиотеки помогут вам изменить размер полос рейтинга. Поскольку родительские стили полос рейтинга Android трудно изменить, и они не имеют реализации по умолчанию. Удачного кодирования!

person Xenolion    schedule 23.09.2017

Вместо этого установите родительский стиль на @style/Widget.AppCompat.RatingBar.Small.

person dominicoder    schedule 23.09.2017