Космос Между звездами рейтингаБар
Мне нужно вставить пробел между звездами моего рейтинга Bar, например, панель оценки хорошо:
![enter image description here]()
но мне это нужно:
![enter image description here]()
как я могу это сделать?
Ответы
Ответ 1
Я не знаю, будет ли он больше полезен, но я создал специальную библиотеку, которая позволяет изменять пространство между звездами программно и в XML (среди прочего): SimpleRatingBar.
В нем есть:
- Полностью работает
android:layout_width
: его можно установить в wrap_content
, match_parent
или abritary dp.
- Произвольное число звезд.
- Произвольный размер шага.
- Размер звезд можно точно контролировать или установить максимальный размер.
- Настраиваемые цвета в нормальном состоянии (граница, заливка и фон звезд и рейтинговая панель).
- Настраиваемые цвета в нажатом состоянии (граница, заливка и фон звезд и рейтинговая панель).
- Настраиваемая разметка размеров между звездами.
- Настраиваемая ширина границ звезд.
- Настраиваемый радиус угла звезд.
- Позволяет установить OnRatingBarChangeListener
- Заполнение звездочек может начинаться слева направо или справа налево (поддержка языка RTL).
- AnimationBuilder интегрирован в представление, чтобы автоматически присвоить рейтинг анимации.
Это предварительный просмотр.
В вашем случае вам просто нужно будет:
ratingbar.setStarsSeparation(20, Dimension.DP);
или, например, в пикселях:
ratingbar.setStarsSeparation(100, Dimension.PX);
Вы можете найти его либо в jcenter
, либо в Maven Central
. Поэтому в вашем файле build.gradle
просто добавьте свои зависимости:
compile 'com.iarcuschin:simpleratingbar:0.1.+'
Ответ 2
У вас есть следующее свойство.
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_empty в графическом редакторе и добавить при необходимости spassing.
Ответ 3
Просто используйте пользовательский значок для него и используйте стиль, я имею в виду Photoshop, как вы хотите, чтобы он выглядел и заменял значок стиля рейтинга системы.
Ответ 4
Я думаю, вам нужно будет захватить копию системного png файла и вручную добавить дополнение, которое вы хотите, с помощью Photoshop/gimp/другого редактора.
Ответ 5
Я согласен с Тимом
Я применил ту же логику, и она сработала.
Здесь, в моем проекте, я использую свои собственные звездные изображения для звездного ратина
Я сделал звездообразные изображения с дополнительным пространством (дополнением) с правой стороны, что привело к пробелу между звездами