具有自定义评级可绘制对象的 RatingBar 的重力

Gravity of RatingBar with custom rating drawables

我已经为 RatingBar 设置了自定义可绘制对象,似乎它的内部重力设置为 "top"(见屏幕截图,绿色是其背景设置以指示其实际高度)

布局:

 <LinearLayout
                        android:id="@+id/rate_ll"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_below="@id/reviews_tv"
                        android:layout_margin="@dimen/default_margin"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/title_rate"
                            android:textSize="14sp"
                            android:fontFamily="sans-serif" />

                        <RatingBar
                            android:id="@+id/rating_bar"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:background="#0f0"
                            android:layout_marginLeft="@dimen/default_margin"
                            android:layout_marginStart="@dimen/default_margin"
                            android:stepSize="1"
                            android:progressDrawable="@drawable/rating_star" />

                    </LinearLayout>

rating_star.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@android:id/background" android:drawable="@drawable/ic_star" />
    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/ic_star" />
    <item android:id="@android:id/progress" android:drawable="@drawable/ic_redstar" />

</layer-list>

Gravity 可以使用默认的 drawable。

如何解决?

我遇到了同样的问题,我只是更改了 RatingBar 的 android:minHeight 属性。希望对你有帮助