Android: Comment changer la taille de la RadioButton
-
26-09-2019 - |
Question
J'ai beaucoup RadioButton
s dans mon application. Les boutons radio sont trop gros pour moi. Est-il un moyen de les rendre plus petits?
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 ? p>
<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