Мне нужно вставить пробел между звездами моего рейтинга, например, рейтинг хорошо:
но мне это нужно так:
как я могу это сделать?
Мне нужно вставить пробел между звездами моего рейтинга, например, рейтинг хорошо:
но мне это нужно так:
как я могу это сделать?
Я не знаю, будет ли это еще полезно, но я сделал пользовательскую библиотеку, которая позволяет программно и в XML (среди прочего) изменять расстояние между звездами: SimpleRatingBar.
Особенности:
android:layout_width
: можно установить wrap_content
, match_parent
или произвольное значение dp.В вашем случае вам просто нужно сделать:
ratingbar.setStarsSeparation(20, Dimension.DP);
или, например, в пикселях:
ratingbar.setStarsSeparation(100, Dimension.PX);
Вы можете найти его либо в jcenter
, либо в Maven Central
. Итак, в вашем файле build.gradle
просто добавьте к своим зависимостям:
compile 'com.iarcuschin:simpleratingbar:0.1.+'
У вас есть следующая собственность.
android:progressDrawable = "@drawable/rating_stars"
android:indeterminateDrawable = "@drawable/rating_stars"
@drawable/rating_stars:
<?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/star_empty" />
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/star_empty" />
<item android:id="@+android:id/progress"
android:drawable="@drawable/star" />
</layer-list>
star_empty и star - это изображения, которые находятся в вашем каталоге с возможностью рисования. Итак, вы можете изменить star и star_empty в графическом редакторе и добавить пробел, если вам нужно.
Просто используйте для него пользовательский значок и используйте стиль, я имею в виду Photoshop, как вы хотите, чтобы он выглядел, и замените значок стиля системного рейтинга.
Я думаю, вам придется взять копию png-файла системной звезды и вручную добавить к нему нужные отступы с помощью фотошопа / gimp / какого-либо другого редактора.
Drawable
, используемый для звезд, используя атрибуты размера для поддельного заполнения (путем настройки тега style
для RatingBar
).
- person Eric; 19.06.2012
Я согласен с Тимом, я применил ту же логику, и это сработало. Здесь, в моем проекте, я использую свои собственные звездные изображения для звездного ратина. Я сделал звездные изображения с дополнительным пространством (отступом) с правой стороны, что привело к промежутку между звездами.