мне нужно вставить пробел между звездами моего ratingBar, Пример ratingbar хорошо:Пространство между звездами ratingBar
но мне это нужно таким образом:
как я могу это сделать?
мне нужно вставить пробел между звездами моего ratingBar, Пример ratingbar хорошо:Пространство между звездами ratingBar
но мне это нужно таким образом:
как я могу это сделать?
Я не знаю, будет ли он полезен больше, но я создал специальную библиотеку, которая позволяет изменять пространство между звездами программно и в XML (среди прочего): SimpleRatingBar.
Он оснащен:
android:layout_width
: он может быть установлен в wrap_content
, match_parent
или abritary дп.В вашем случае, вы просто должны сделать:
ratingbar.setStarsSeparation(20, Dimension.DP);
или, например, в пикселях:
ratingbar.setStarsSeparation(100, Dimension.PX);
Вы можете найти его или в jcenter
или в Maven Central
. Так что в вашем файле build.gradle
просто добавить к вашей зависимости:
compile 'com.iarcuschin:simpleratingbar:0.1.+'
Он не поддерживает пользовательские возможности для звезд. Или это? – FoY
Привет @FoY, это не так. – FlyingPumba
Я думаю, вам нужно будет захватить копию системного файла png и вручную добавить отступы, которые вы хотите использовать с помощью Photoshop/gimp/другого редактора.
Согласно ссылкам, которые я опубликовал выше, я считаю, что вы можете настроить ' Drawable' используется для звезд, используя атрибуты размера для подделки заполнения (путем создания тега 'style' для' RatingBar'). – Eric
этот путь был уродлив, не имеют способа в конфигурациях класса оценки – ademar111190
@Soxxeh Хм, я не нашел пример этого в любой ссылке, которую вы опубликовали. Первый кажется более перспективным, но в первом предложении говорится: «Вы должны добавить дополнение к самому png» и продолжает показывать метод из класса ProgressBar. Я не вижу нигде стиля, который влияет на заполнение. Можете ли вы уточнить? – FoamyGuy
Я согласен с Тимом Я применил ту же логику, и это сработало. Здесь, в моем проекте, я использую свои собственные звездообразные изображения для звездного ратина. Я сделал звездообразные изображения с дополнительным пространством (дополнением) на правой стороне, что привело к пространству между звездами.
Да, я согласен, но. Теперь рассмотрим следующее: вы создадите 4 типа рейтинговых баров в большом проекте, каждый балл рейтинга с 2 или 3 различными типами тиражных изображений - это около 10 изображений, которые, скажем, 2px пространства, теперь считают необходимым увеличить 1px пространство, I предпочитают менять setPadding (2) на setPadding (3) вместо повторной публикации, чем 10 изображений. – ademar111190
У вас есть решение на вашем пути. Пожалуйста, поделитесь тем, что вы пробовали, наилучшим образом – Meher
, к сожалению, не нашел ничего элегантного, чтобы решить эту проблему, я установил интервал в собственном образе :(, мне не понравилась проблема, разрешенная в надежде, что однажды найдет подходящий способ сделать это. – ademar111190
У вас есть следующее свойство.
android:progressDrawable = "@drawable/rating_stars"
android:indeterminateDrawable = "@drawable/rating_stars"
@ рисуемый/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_empty в графическом редакторе и добавить при необходимости spassing.
Да, я согласитесь, но. Теперь рассмотрим следующее: вы создадите 4 типа рейтинговых баров в большом проекте, каждый балл рейтинга с тремя различными типами вытягиваемых составляет около 12 изображений, которые, скажем, 2px пространства, теперь считают необходимым увеличить пространство на 1px , Я предпочитаю менять setPadding (2) на setPadding (3) вместо повторной публикации, чем 10 изображений. – ademar111190
Добавив вставку слева и/или справа от выделенного, мы получим ненужное дополнение слева и/или правую границу представления. – hqzxzwb
Просто используйте пользовательский значок для этого и используйте стиль, я имею в виду Photoshop, как вы хотите, чтобы он выглядел и заменялся значком стиля системы.
См [этот SO ответ] (http://stackoverflow.com/questions/4213784/spacing-between-the-stars-of-a- рейтинг-бар). – Eric
Я добавил запрос функции, пожалуйста, проголосуйте за него: https://code.google.com/p/android/issues/detail?id=230511 –