2010-06-10 10 views
19

Ich habe viele RadioButtons in meiner App. Die RadioButtons sind zu groß für mich. Gibt es eine Möglichkeit, es kleiner zu machen?Android: Wie ändere ich die Größe des RadioButton

+0

Ich denke, Sie Ihre eigene Kontrolle schreiben könnte, aber denken Sie daran, dass die Kontrollen zu klein machen könnte es schwieriger für einige Benutzer die Steuerung genau zu treffen im Touch-Modus. Dies würde die Benutzerfreundlichkeit Ihrer App beeinträchtigen. – codinguser

+0

Ich finde diese Lösung, siehe meine Antwort hier [https://Stackoverflow.com/a/44310577/6112256](https://Stackoverflow.com/a/44310577/6112256) –

Antwort

12

Kann nicht getan werden, der Radio-Button ist eine integrierte Steuerkomponente und als solche seine Größe ist festgelegt.

+0

Vielen Dank! – TianDong

+1

Es mag nicht einfach sein, aber es ist möglich; siehe http://stackoverflow.com/a/4787260/3063884 – CJBS

+2

Bitte antworten Sie nicht esp. mit negativen Bemerkungen als "es kann nicht gemacht werden" usw., ohne sicher zu sein! Sehen Sie, Michael hat eine einfache und praktikable Lösung! – Apostolos

14

Es kann getan werden, aber nicht so einfach, wie die Layout_Width und Layout_height wie mit EditTexts Einstellung usw. Buttons die Größe/Aussehen einer Ansicht wie ein Kontrollkästchen/Optionsfeld „Hintergrund“ verwenden zu ändern und " Button "Eigenschaften zum Festlegen eigener Drawables.

Dies ist eine ältere Seite, und die Standorte sind jetzt anders, aber das werde Ihnen eine Idee geben: http://www.anddev.org/tutorial_change_look_of_checkbox-t4553.html

+0

Siehe Michaels einfache und praktikable Lösung! – 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

Eine schnelle hacky Lösung ist nach unten auf den Button maßstabs:

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

Dies funktioniert gut für kleinere gehen.

Wenn Sie größer werden, verursacht dies in der Regel eine Beschneidung des Container-Views. Daher müssen Sie die Höhe/Breite der RadioGroup wahrscheinlich an die skalierten Schaltflächen anpassen. Die Schaltfläche ziehbar auch deutlich bekommen verpixelt die größer Sie gehen, so ist es nicht wirklich toll, wenn man etwas 3x größer will ...

+0

und Hinzufügen von android: textSize = "[Größe] SP" wird auch die Radio-Button-Label skalieren, aber die Anpassung der Taste und Label-Größe braucht etwas mehr harten Code ... – sepehr

+0

Danke dir :) es funktioniert super !! :) –

+0

Verkleinert die Schaltflächengröße, lässt aber größere Leerzeichen dazwischen –

0

ich dies getan habe, indem Sie die Textsize von RadioButton- Einstellung selbst

Wie so

android:textSize="20sp" 

dann gelten für meinen 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" /> 
    ... 

Hoffnung diese Hilfe zu jemand

Verwandte Themen