android 评分栏小样式

android ratingbar small style

我试着创建一个像这样的小评分栏

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

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>

这里的问题是评级栏的大小,它非常大并且被裁剪了我如何用这个替换 @android:style/Widget.RatingBarandroid:attr/ratingBarStyleSmall,或者如果任何其他解决方案或库都可以我,但我需要小

改为将您的父样式设置为 @style/Widget.AppCompat.RatingBar.Small

我曾经遇到过像你这样的问题,android 似乎没有考虑调整评级栏的大小。我应用的所有样式对于我的用例来说都不够小。我最终使用了第三方库。 The first one or The second one 这些库将帮助您调整评分栏的大小。因为 android 评级栏的父样式很难调整大小并且没有默认实现。编码愉快!