Строка рейтинга становится большой и обрезается при добавлении пользовательских изображений в Android
Я последовал за ответом о переполнении стека, добавив пользовательский рейтинг в проект Android, вот он:https://stackoverflow.com/a/32828726/5909396
На всякий случай я выкладываю свой код.
Сначала я создал ratingBar.xml в папке drawable:
<?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/ratingbar_empty" />
<item android:id="@android:id/secondaryProgress"
android:drawable="@drawable/ratingbar_empty" />
<item android:id="@android:id/progress"
android:drawable="@drawable/ratingbar_filled" />
Затем я создал ratingbar_empty.xml и ratingbar_filled.xml также в папке для рисования:
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_emptyStar" />
<item android:state_focused="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_emptyStar" />
<item android:state_selected="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_emptyStar" />
<item android:drawable="@drawable/ic_emptyStar" />
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_fullStar" />
<item android:state_focused="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_fullStar" />
<item android:state_selected="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_fullStar" />
<item android:drawable="@drawable/ic_fullStar" />
А потом я создал собственный стиль в styles.xml
<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/ratingbar</item>
<item name="android:minHeight">50dp</item>
<item name="android:maxHeight">50dp</item>
</style>
И наконец я добавил рейтинг Бар в макет. То, как я это структурировал, это то, что строка рейтинга находится внутри относительного макета, и внутри относительного макета также есть текстовое представление, которое находится в верхней части панели рейтинга (текстовое представление показывает, что рейтинг отсутствует);
<RelativeLayout
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:orientation="vertical"
android:layout_gravity="center">
<RatingBar
android:id="@+id/ratingRestaurant"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/CustomRatingBar"
android:numStars="5"
android:stepSize="0.1"
android:isIndicator="true"
android:max="5"
android:progress="3"
android:layout_centerVertical="true"
android:progressTint="#ffe4b331" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No rating available"
android:textColor="@android:color/white"
android:textSize="11dp"
android:id="@+id/textViewNoRatingAvailable" />
</RelativeLayout>
Когда я запускаю приложение на симуляторе, звезды действительно большие и обрезаются, как показано ниже:
Там должно быть пять звезд. Как я могу решить эту проблему?