2011-03-18 13 views
5

Finalmente he descubierto cómo cambiar las imágenes de la barra de calificación, pero no puedo imaginar cómo cambiar el tamaño. Tengo estaandroid ratingbar size

<resources> 
    <style name="foodRatingBarSmall" parent="@android:style/Widget.RatingBar.Small"> 
     <item name="android:progressDrawable">@drawable/rating_bar_used</item> 
     <item name="android:minHeight">10dip</item> 
     <item name="android:maxHeight">10dip</item> 
    </style> 
</resources> 

pero cada vez que se cambia el tamaño en el minHeight y maxHeight sigue siendo el mismo.

Mi diseño xml:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:onClick="showRecipeOnClick" android:clickable="true" style="@style/row"> 

    <TableRow 
      android:id="@+id/tableRow1" android:layout_gravity="center" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center_vertical"> 
     <TextView android:id="@+id/customName" 
      android:textSize="25px" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" 
      android:textColor="@color/black" 
      android:layout_weight="5"> 
     </TextView> 
     <RatingBar android:id="@+id/mainRatingBar" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:numStars="5" 
        android:stepSize="0.5" 
        android:isIndicator="true" 
        android:layout_gravity="center_vertical" 
        style="@style/foodRatingBarSmall"></RatingBar> 
    </TableRow> 
     <View android:layout_width="fill_parent" 
      android:layout_height="2dip" 
      android:background="@color/black"/> 
    </TableLayout> 

¿Qué estoy haciendo mal?

Gracias por su ayuda

+0

registrar el XML diseño. –

Respuesta

2

estoy teniendo el mismo problema raro cuando he pasado de 1.6 a 2,1. Eliminar la palabra pequeña en su estilo y tratar:

android:style/Widget.RatingBar.Small 

a

android:style/Widget.RatingBar 
8

cambiar el estilo de

parent="@android:style/Widget.RatingBar.Small" 

a

parent="@*android:style/Widget.RatingBar.Small" 

Para obtener más información, consulte el siguiente enlace especialmente el comentario de 6 en adelante.

http://code.google.com/p/android/issues/detail?id=18659

+0

Cuando lo hago, aparece un error: "Referencia de recursos ilegales: @ * Los recursos de Android son privados y no siempre están presentes" – tomsv

6

Una solución consiste en aplicar el atributo de escala para su RatingBar, por lo que no es muy precisa:

 <RatingBar android:id="@+id/mainRatingBar" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:numStars="5" 
       android:stepSize="0.5" 
       android:isIndicator="true" 
       android:layout_gravity="center_vertical" 
       style="@style/foodRatingBarSmall" 
       android:scaleX="0.8" 
       android:scaleY="0.8"></RatingBar> 

estrellas son más pequeñas y la interacción todavía funciona

+1

El atributo de escala en realidad no cambia el tamaño de la barra de calificación. – drspaceboo