J'ai beaucoup de RadioButton
dans mon application. Les RadioButtons sont trop gros pour moi. Existe-t-il un moyen de les réduire?
Impossible à faire, le bouton radio est un composant de contrôle intégré et en tant que tel, sa taille est fixe.
Une solution rapide et hacky consiste à réduire le bouton:
<RadioButton
Android:scaleX="0.5"
Android:scaleY="0.5" />
Cela fonctionne très bien pour aller plus petit.
Pour agrandir, cela a tendance à provoquer un écrêtage de la vue du conteneur, vous devrez donc probablement coder en dur la hauteur/largeur du RadioGroup pour s'adapter aux boutons mis à l'échelle. Le bouton pouvant être dessiné peut également être visiblement pixellisé au fur et à mesure que vous allez, donc ce n'est pas vraiment génial si vous voulez quelque chose de 3 fois plus grand ...
Cela peut être fait mais n'est pas aussi simple que de définir Layout_Width et Layout_height comme avec EditTexts, Buttons etc. Pour modifier la taille/l'apparence d'une vue comme une case à cocher/bouton radio utilise les propriétés "Arrière-plan" et "Bouton" pour spécifier vos propres dessins.
Ceci est une page plus ancienne, et les emplacements sont différents maintenant, mais cela vous donnera 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 utiliser translationX et translationY pour les placer dans les fenêtres des boutons radio.
<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" />
J'ai remplacé RadioButton
par ToggleButton
et appliqué le même style. J'ai remplacé le fond 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 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>
Fonctionne pour moi - a la même apparence, mais avec une hauteur personnalisée.
Si votre RadioButton est dans le RadioGroup, vous devrez personnaliser l'écouteur, vérifiez Android: Comment obtenir un radiogroupe avec des boutons à bascule?