Подтвердить что ты не робот

Космос Между звездами рейтингаБар

Мне нужно вставить пробел между звездами моего рейтинга Bar, например, панель оценки хорошо:

enter image description here

но мне это нужно:

enter image description here

как я могу это сделать?

4b9b3361

Ответ 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

Я согласен с Тимом Я применил ту же логику, и она сработала. Здесь, в моем проекте, я использую свои собственные звездные изображения для звездного ратина Я сделал звездообразные изображения с дополнительным пространством (дополнением) с правой стороны, что привело к пробелу между звездами