Я разработал пользовательский рейтинг в Android с различными рисованными изображениями.Я хотел бы увеличить пробелы между звездами в строке рейтинга.Я знаю, что есть похожий вопрос с тем же названием, в котором они использовали сторонний SDK для создания пробелов. Но это не сработало. Пожалуйста, дайте мне знать, как я могу продолжить.
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<RatingBar
android:layout_width="wrap_content"
android:layout_height="@dimen/_30sdp"
style="@style/ImageRatingBar"
android:id="@+id/rate"
android:stepSize="1"
android:numStars="5"
android:layout_marginStart="@dimen/_20sdp"
android:layout_marginTop="@dimen/_20sdp"/>
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
В моих файлах styles.xml:
<style name="ImageRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/ratingbar_selector</item>
<item name="android:minHeight">30dp</item>
</style>
В моих чертежах rating_bar_selector.xml:
<?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/grey_star" />
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/yellow_star" />
<item
android:id="@android:id/progress"
android:drawable="@drawable/yellow_star" />
</layer-list>