Я добавил RatingBar в макет:
<RatingBar
android:id="@+id/ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="1.0"
/>
Но стиль по умолчанию для строки рейтинга слишком велик.
Я пытаюсь изменить это, добавив стиль Android:style="?android:attr/ratingBarStyleSmall"
Но результат слишком мал, и с помощью этого свойства невозможно установить ставку.
Как я мог сделать?
Как приклеить приведенный здесь код ...
Шаг 1. Вам нужен собственный рейтинг звезд в
res/drawable
...Шаг-2
res/drawable
Вам нужноratingstars.xml
как следует ...Шаг-3
res/values
Вам нужно,styles.xml
как следует ...Шаг 4 В вашем макете ...
источник
Просто используйте:
Измените масштабный коэффициент в соответствии с вашими потребностями.
Для масштабирования без создания отступа слева также добавьте
источник
codeandroid:scaleX="0.75" android:scaleY="0.75" android:layout_marginRight="-25dp"
android:layout_height="40dp"
Нет необходимости добавлять слушателя в
?android:attr/ratingBarStyleSmall
. Просто добавьте,android:isIndicator=false
и он будет захватывать события клика, например,источник
маленький, реализованный ОС
источник
применить это.
источник
Я нашел более простое решение, чем я думаю, приведенное выше, и проще, чем собственное. Я просто создал небольшую рейтинговую панель и добавил к ней onTouchListener. Оттуда я вычисляю ширину клика и определяю количество звезд из этого. Воспользовавшись этим несколько раз, я обнаружил единственную причуду, заключающуюся в том, что рисование маленькой строки рейтинга не всегда получается правильным в таблице, если я не заключаю ее в LinearLayout (выглядит прямо в редакторе, но не на устройстве) , Во всяком случае, в моем макете:
и в рамках моей деятельности:
Я надеюсь, что это помогает кому-то еще. Определенно проще, чем рисовать свои собственные (хотя я обнаружил, что это тоже работает, но я просто хотел легко использовать звезды).
источник
ratingBarStyleSmall
звезды действительно слишком малы, чтобы быть полезными. Я думаю, что мне придется катиться самостоятельно, чтобы получить звезды среднего размера.источник
// добавляем эти строки для маленькой строки рейтинга
источник
хотя ответ Фарри работает, для устройств Samsung RatingBar взял случайный синий цвет вместо определенного мной. Так что используйте
вместо.
Полный код как его использовать:
источник
Лучший ответ для небольшого рейтинга
источник
Используйте этот код
источник
источник
Лучший ответ, который я получил
пользователь, как это
Увеличьте / уменьшите размеры, используя scaleX и scaleY value
источник
используйте следующий код для маленькой строки рейтинга с событием onTouch
источник
После долгих исследований я обнаружил, что лучшим решением для уменьшения размера пользовательских рейтинговых шкал является получение размера прогресса, отображаемого в определенных размерах, как указано ниже:
xxhdpi - 48 * 48 пикселей
xhdpi - 36 * 36 пикселей
HDP - 24 * 24 пикс.
И в стиле положите minheight и maxheight как 16 dp для всех разрешений.
Дайте мне знать, если это не поможет вам получить лучшие рейтинговые панели небольшого размера, так как эти размеры я нашел очень совместимыми и эквивалентными атрибуту стиля ratingbar.small.
источник
Это работает для меня в строке рейтинга xml style = "? Android: attr / ratingBarStyleSmall" добавь this.it будет работать.
источник
Я решаю эту проблему следующим образом: style = "? Android: attr / ratingBarStyleSmall"
источник