2010-06-10 29 views
19

Tengo muchos RadioButtons en mein App. Los RadioButtons son demasiado grandes para mí. ¿Hay alguna forma de hacerlo más pequeño?Android: Cómo cambiar el tamaño del RadioButton

+0

Creo que se puede escribir su propio control, pero tenga en cuenta que la toma de los controles demasiado pequeño podría hacer más difícil para algunos usuarios para golpear el control de precisión cuando está en modo táctil. Esto reduciría la usabilidad de tu aplicación. – codinguser

+0

Encuentro esta solución, vea mi respuesta aquí [https://stackoverflow.com/a/44310577/6112256](https://stackoverflow.com/a/44310577/6112256) –

Respuesta

12

No se puede hacer, el botón de opción es un componente de control integrado y, como tal, su tamaño es fijo.

+0

¡Muchas gracias! – TianDong

+1

Puede que no sea fácil hacerlo, pero es posible; ver http://stackoverflow.com/a/4787260/3063884 – CJBS

+2

No responda esp. con comentarios negativos como "no se puede hacer", etc., ¡sin estar seguro! ¡Mira, Michael tiene una solución fácil y viable! – Apostolos

14

Se puede puede hacer, pero no es tan simple como poner la Layout_Width y Layout_height como con EditTexts, botones, etc. Para modificar el tamaño/aspecto de una vista como un botón de casilla/radio utilizar el "fondo" y " Button "propiedades para especificar sus propios drawables.

Esta es una página de más edad, y los lugares son diferentes ahora, pero esto te dará una idea: http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html

+0

¡Vea la solución fácil y viable de Michael! – Apostolos

0
<RadioGroup android:layout_width="fill_parent"    
      android:layout_height="50dp"   
      android:orientation="horizontal"   
      android:checkedButton="@+id/first"> 

<RadioButton android:id="@+id/first"   
     android:width="50dp"   
     android:height="50dp"   
     android:button="@drawable/button_radio"/> 

    <RadioButton android:id="@+id/second"   
     android:width="50dp"  
     android:height="50dp"  
     android:button="@drawable/button_radio"/> 

    <RadioButton android:id="@+id/third" 
     android:width="50dp" 
     android:height="50dp" 
     android:button="@drawable/button_radio"/> 

    <RadioButton android:id="@+id/fourth"           
     android:width="50dp"    
     android:height="50dp"   
     android:button="@drawable/button_radio"/>   
</RadioGroup> 
22

Una solución rápida hacky es escalar el botón de abajo:

<RadioButton 
    android:scaleX="0.5" 
    android:scaleY="0.5" /> 

Esto funciona muy bien para ir más pequeño.

Para ir más grande, esto tiende a causar un recorte de la vista del contenedor, por lo que es probable que tenga que codificar el alto/ancho del RadioGroup para que se ajuste a los botones escalados. El dibujable botón también puede quedar notablemente más pixelada cuanto mayor sea que vaya, así que no es realmente grande si quieres algo más grande ... 3x

+0

y agregando android: textSize = "[size] sp" también escalará la etiqueta del botón de opción, pero al hacer coincidir el botón y el tamaño de la etiqueta necesita un código más ... – sepehr

+0

Gracias :) ¡¡¡¡¡¡¡¡¡es genial !! :) –

+0

Reduce el tamaño del botón pero deja espacios más grandes entre ellos –

0

que he hecho esto ajustando la TextSize de RadioButton sí

Al igual que

android:textSize="20sp" 

luego aplique a mi código;

<RadioGroup 
    android:id="@+id/checkboxRadioButton" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:orientation="horizontal"> 

    <RadioButton 
     android:id="@+id/rb1" 
     style="@android:style/Widget.CompoundButton.CheckBox" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/checkBoxMargin" 
     android:text="YES" 
     android:textSize="20sp" /> 
    ... 

Esperanza esta ayuda a alguien

Cuestiones relacionadas