Question

J'ai beaucoup RadioButtons dans mon application. Les boutons radio sont trop gros pour moi. Est-il un moyen de les rendre plus petits?

Était-ce utile?

La solution

ne peut pas être fait, le bouton radio est un élément de contrôle intégré et en tant que telle est sa taille fixe.

Autres conseils

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 aller plus, cela tend à provoquer une coupure du récipient View, de sorte que vous aurez probablement à hardcode la hauteur / largeur de la RadioGroup pour adapter les boutons mis à l'échelle. Le drawable bouton peut également obtenir pixellisée sensiblement le plus grand, vous allez, il est donc pas vraiment grand si vous voulez quelque chose 3x plus ...

peut être fait, mais 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 un bouton case à cocher / radio utilise la " arrière-plan » et « propriétés des boutons » pour spécifier vos propres dessinables.

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

vous pouvez utiliser les propriétés scaleX et scaleY, puis utilisez translationX et TranslationY pour le mettre dans les fenêtres radiobutton.

<RadioButton
            android:id="@+id/rbtnfkilo"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleX="1.4"
            android:scaleY="1.4"
            android:text="Kilogram"
            android:textColor="#fff"
            android:textSize="18sp"
            android:translationX="24dp" />

Je relpaced RadioButton avec ToggleButton et appliqué même style. Je l'ai fait fond override et le bouton.

    <ToggleButton
        android:id="@+id/btnToggle1"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_weight="1"
        android:checked="true"
        style="@style/ToggleButtonStyle"
        android:button="@null"
        android:textOn="@string/btnTitle"
        android:textOff="@string/btnTitle"/>

et le style:

<style name="ToggleButtonStyle">
    <item name="android:background">@drawable/background_radiobutton</item>
    <item name="android:textColor">@color/selector_text_radiobutton</item>
    <item name="android:textAppearance">@null</item>
</style>

Travaux pour moi -. A la même, mais avec une hauteur personnalisée

Si votre RadioButton est dans le RadioGroup, vous aurez besoin de personnaliser auditeur, vérifier Android: Comment obtenir un radiogroup avec ToggleButtons

<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>

Je l'ai fait en ajustant la TextSize de RadioButton lui-même

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

Espérons que cela aide à quelqu'un

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top