Search code examples
androidratingbar

android ratingbar small style


i tried to create a small rating bar something like this

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

and its working perfectly ,, now i need to replace star with custom image like this

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

    </style>

ratingbar.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>

the problem here is with the rating bar size ,, its very big and cropped how i can replace @android:style/Widget.RatingBar with this ?android:attr/ratingBarStyleSmall ,, or if any other solution or library its ok for me but i need small


Solution

  • I once had a problem like yours whereby android seems not to consider the resizing of rating bars. All the styles I applied was not small enough to my use case. I ended up using the third party libraries. The first one or The second one These libraries will help you resizing the rating bars. Because android parent styles of rating bars are hard to resize and do not have default implementation. Happy Coding!