2010-06-10 7 views
19

J'ai beaucoup de boutons radio dans mein App. Les RadioButtons sont trop gros pour moi. Y a-t-il un moyen de le rendre plus petit?Android: Comment changer la taille du RadioButton

+0

Je suppose que vous pouvez écrire votre propre contrôle, mais gardez à l'esprit que faire les contrôles trop petit pourrait rendre plus difficile pour certains utilisateurs de frapper le contrôle de précision en mode tactile. Cela réduirait la convivialité de votre application. – codinguser

+0

Je trouve cette solution, voir ma réponse ici [https://stackoverflow.com/a/44310577/6112256]https://stackoverflow.com/a/44310577/6112256) –

Répondre

12

Impossible de le faire, le bouton radio est un composant de contrôle intégré et sa taille est donc fixe.

+0

Merci beaucoup! – TianDong

+1

Ce n'est peut-être pas facile à faire, mais c'est possible; voir http://stackoverflow.com/a/4787260/3063884 – CJBS

+2

S'il vous plaît ne répondez pas esp. avec des remarques négatives comme "ça ne peut pas être fait" etc., sans être certain! Voir, Michael a une solution facile et réalisable! – Apostolos

14

Il peut être fait, mais n'est pas aussi simple que le réglage de la Layout_Width et Layout_height comme avec EditTexts, boutons etc. Pour modifier la taille/apparence d'une vue comme une case à cocher/bouton radio utiliser le « fond » et " Button "propriétés pour spécifier vos propres drawables.

Ceci est une page plus, et les emplacements sont différents maintenant, mais cela va vous donner une idée: http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html

+0

Voyez la solution facile et pratique 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

Une solution hacky rapide est à l'échelle le bouton vers le bas:

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

Cela fonctionne très bien pour aller plus petit. Pour augmenter la taille, cela a tendance à provoquer un certain écrêtage de la vue conteneur. Vous devrez donc coder en dur la hauteur/largeur du groupe radio pour l'adapter aux boutons mis à l'échelle. Le drawable bouton peut également obtenir sensiblement pixellisée Plus vous allez, il est donc pas vraiment génial si vous voulez quelque chose 3x plus ...

+0

et en ajoutant android: textSize = "[size] sp" va aussi mettre à l'échelle l'étiquette du bouton radio, mais l'appariement du bouton et de la taille de l'étiquette nécessite un code plus dur ... – sepehr

+0

Merci! :) –

+0

Réduit la taille du bouton mais laisse de plus grands espaces entre eux –

0

Je l'ai fait en ajustant la TextSize de RadioButton se

Comme si

android:textSize="20sp" 

puis appliquer à mon code;

<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" /> 
    ... 

Espoir cette aide à quelqu'un

Questions connexes