2010-06-10 18 views
19

Ho molti RadioButton nell'app mein. I RadioButton sono troppo grandi per me. C'è un modo per renderlo più piccolo?Android: Come cambiare la dimensione del RadioButton

+0

Credo che si potrebbe scrivere il proprio controllo, ma di tenere presente che, per rendere i controlli troppo piccolo potrebbe rendere più difficile per alcuni utenti per colpire il controllo di precisione quando si è in modalità touch. Ciò ridurrebbe l'usabilità della tua app. – codinguser

+0

Trovo questa soluzione, vedere la mia risposta qui [https://stackoverflow.com/a/44310577/6112256](https://stackoverflow.com/a/44310577/6112256) –

risposta

12

Impossibile eseguire, il pulsante di opzione è un componente di controllo incorporato e pertanto la sua dimensione è fissa.

+0

Grazie mille! – TianDong

+1

Potrebbe non essere facile farlo, ma è possibile; vedi http://stackoverflow.com/a/4787260/3063884 – CJBS

+2

Si prega di non rispondere esp. con commenti negativi come "non può essere fatto" ecc., senza essere certi! Vedi, Michael ha una soluzione facile e praticabile! – Apostolos

14

E può essere fatto, ma non è così semplice come l'impostazione del Layout_Width e Layout_height come con EditTexts, bottoni ecc Per modificare la dimensione/sguardi di una vista come un pulsante checkbox/radio utilizzare il "Background" e " Pulsante "proprietà per specificare i propri drawable.

Questa è una pagina più vecchio, e le posizioni sono diverse, ma questo ti do un'idea: http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html

+0

Vedere la soluzione facile e praticabile di 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 soluzione hacky rapida è quella di scalare il pulsante verso il basso:

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

Questo funziona benissimo per andare più piccoli.

Per ingrandirsi, questo tende a causare un ritaglio dalla vista del contenitore, quindi è probabile che sia necessario codificare l'altezza/larghezza del gruppo radio per adattarlo ai pulsanti ridimensionati. Il drawable pulsante può anche ottenere notevolmente pixelated il più grande si va, quindi non è davvero grande se volete qualcosa di più grande 3x ...

+0

e aggiungendo android: textSize = "[size] sp" scalerà anche l'etichetta del pulsante radio, ma abbinare il pulsante e le dimensioni dell'etichetta richiede un po 'di codice più rigido ... – sepehr

+0

Grazie :) il suo lavoro fantastico !! :) –

+0

Riduce le dimensioni del pulsante ma lascia spazi più grandi tra di loro –

0

Ho fatto questo regolando la TextSize di RadioButton stesso

Come così

android:textSize="20sp" 

quindi applicare al mio codice;

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

Spero che questo aiuto a qualcuno

Problemi correlati