2016-02-05 4 views
1

Я пытаюсь создать пользовательский RatingBar для моего приложения Android, в котором я могу изменить размер и цвет по умолчанию RatingBar. Для этого я написал стили для CustomRatingBar так:Невозможно изменить размер пользовательского рейтингаBar

<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar"> 
    <item name="android:progressDrawable">@drawable/custom_ratingbar</item> 
    <item name="android:minHeight">25dp</item> 
    <item name="android:maxHeight">25dp</item> 
</style> 

Но размер не меняется, а это сокращает рейтинг бар вроде этого: enter image description here

рисуем файлы являются: custom_ratingbar.xml, custom_ratingbar_empty, custom_ratingbar_filled

В моей XML, RatingBar выглядит следующим образом:

  <RatingBar 
        android:id="@+id/RatingBar" 
        style="@style/CustomRatingBar" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="10dp" 
        android:isIndicator="true" 
        android:numStars="5" /> 

Как изменить размер звезды в баре оценки, не сокращая его?

+0

Использование: 'style ="? Android: attr/ratingBarStyleSmall "' –

+0

Какой размер значка вы используете? Используется большой значок, например, 48x48 или 50x50, и храните его в папке xxhdpi. – Mubarak

ответ

2

Попробуйте это

пользовательского рейтинг стиль бара с помощью ratingBar небольшого стиля андроида.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="CustomRatingBar" parent="@android:style/Widget.RatingBar" > 
<item name="android:numStars">5</item> 
<item name="android:rating">4.5</item> 
<item name="android:stepSize">0.5</item> 
<item name="android:layout_width">wrap_content</item> 
<item name="android:layout_height">wrap_content</item> 
<item name="android:paddingBottom">44dip</item> 
<item name="android:layout_marginLeft">4dip</item> 
<item name="android:layout_marginTop">4dip</item> 

Проверить example. то же самое.

Другое решение:

Android не масштабирует рейтинг бар иконки. Когда вы уменьшаете значение minHeight и maxHeight, вы всегда будете обрезать значки, как показано на рисунке. Кажется, единственное решение состоит в том, чтобы предоставить свои собственные значки для звезд с желаемыми размерами и установить minHeight и maxHeight на размер значков.

+0

Это дает некоторое пространство внизу, но размер звезды не меняется. –

+0

Вы пробовали, как в примере ссылки? @pialkanti –

+0

Я следовал примеру учебника для создания пользовательских ratingBar. –

Смежные вопросы