Android रेटिंग बार सितारों को कैसे बदलूंगा?



android-layout layout (1)

मैं नई शैली बनाकर अपने रेटिंग बार के सितारों को बदलने की कोशिश कर रहा हूं, यह मैंने क्या किया:

<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" />

और यहां टो की छवियां हैं:

लेकिन मुझे नहीं पता है कि मुझे सितारों के नीचे ऊर्ध्वाधर लाइनें क्यों मिलीं क्योंकि आप तस्वीर को देख सकते हैं:

संपादित करें: हल किया गया: मैं सिर्फ छवि ऊंचाई के रूप में रेटिंग बार की ऊंचाई निर्धारित करता हूं

धन्यवाद


मैं इस समस्या को इस तरह से तय करता हूं। आप प्रत्येक स्क्रीन (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi) के लिए res/values/dimens.xml में कोई मान बना सकते हैं जैसे:

<dimen name="raiting_min_height">36dp</dimen>
<dimen name="raiting_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/raiting_min_height</item>
    <item name="android:maxHeight">@dimen/raiting_min_width</item>
</style>

या आप उस तर्क को आपके rating_star_empty ( rating_star_empty और rating_star_filled ) पर लागू कर सकते हैं





ratingbar