Dans ce didacticiel rapide, vous apprendrez à créer des commandes de sélection de radio Android de base à l’aide de RadioGroup et RadioButton. Vous apprendrez également à réagir lorsque l'utilisateur sélectionne une option radio spécifique, ainsi qu'à renseigner les commandes de radio de différentes manières..
Cette astuce vous indique les étapes à suivre pour créer de simples contrôles de sélection de boutons radio dans vos applications Android. Tout d'abord, vous apprendrez à configurer les contrôles RadioGroup et RadioButton dans vos fichiers de présentation. Ensuite, vous apprendrez à gérer les sélections RadioButton de l'utilisateur. Enfin, nous expliquons comment effectuer les mêmes tâches par programme plutôt que dans des fichiers de présentation.
Commencez par créer un projet Android. Implémentez votre application Android comme d'habitude. Une fois le projet configuré et l'application en cours d'exécution, déterminez sous quel écran vous souhaitez ajouter des contrôles RadioButton. Peut-être avez-vous simplement créé un nouveau projet Android avec son activité et sa présentation par défaut (main.xml). Cela fonctionnera pour ce tutoriel. Une fois votre projet Android configuré, vous êtes prêt à utiliser ce conseil rapide..
Vous pouvez suivre notre projet: SimpleRadioButton, disponible en tant que projet open source..
Le SDK Android comprend deux contrôles radio à utiliser ensemble pour créer un groupe de contrôles de boutons radio dans lesquels un seul contrôle peut être choisi à la fois. Le contrôle RadioGroup (android.widget.RadioGroup) est utilisé pour encapsuler un ensemble de contrôles RadioButton à cette fin..
Un contrôle RadioGroup est simplement un conteneur pour les contrôles RadioButton, mais il possède des propriétés utiles. Par exemple, vous pouvez avoir des groupes de boutons radio horizontaux et verticaux. Ceci est défini en utilisant l'attribut android: orientation, comme vous le feriez avec LinearLayout.
Voici un exemple de contrôle RadioGroup vertical avec trois contrôles RadioButton.
Un autre attribut intéressant que vous pouvez utiliser est l’attribut androidCheckedButton. Vous pouvez utiliser cet attribut pour définir l'identifiant de vue du contrôle enfant RadioButton à vérifier par défaut à l'aide de cet attribut..
Une fois que vous avez configuré votre contrôle RadioGroup, vous devez y ajouter des contrôles enfants. Plus précisément, vous devez ajouter des contrôles RadioGroup (android.widget.RadioButton). Un contrôle RadioButton a de nombreux attributs que vous trouverez familiers avec les contrôles TextView et Button, dont nous avons parlé dans les tutoriels précédents..
Les attributs typiques d'un RadioButton sont:
Voici un exemple de structure XML d'un contrôle RadioGroup vertical avec trois contrôles RadioButton. Chaque contrôle RadioButton utilise une ressource chaîne différente, mais ils partagent tous le même gestionnaire de clics..
Pour l'instant, si vous lancez cette application, les commandes du bouton radio sont affichées, mais rien ne se passe si vous cliquez dessus. Il est maintenant temps de gérer les clics sur les commandes. Il y a plusieurs moyens de le faire.
Commençons par le moyen le plus simple. Les contrôles RadioButton ont une propriété appelée onClick (indiquée par "On Click" dans le volet des propriétés). Vous définissez le nom de la méthode qui gérera le clic avec cette propriété, puis vous implémenterez cette méthode dans votre activité. Par exemple, vous pouvez définir la propriété de votre contrôle RadioButton sur onRadioButtonClick. En XML, cette propriété apparaîtra comme:
android: onClick = "onRadioButtonClick"
Ensuite, dans votre classe d'activité, vous devez implémenter cette méthode. Il devrait s'agir d'une méthode d'annulation publique avec un seul paramètre, un objet View. Par exemple, le gestionnaire de clic sur le bouton suivant génère un message Toast à l'écran lorsque l'utilisateur clique sur le contrôle RadioButton:
public void onRadioButtonClick (Afficher v) bouton RadioButton = (RadioButton) v; Toast.makeText (SimpleRadioButtonActivity.this, button.getText () + "a été choisi.", Toast.LENGTH_SHORT) .show ();
Lorsque vous cliquez sur le contrôle RadioButton, la méthode onRadioButtonClick () est appelée et affiche le message Toast à l'écran..
Supposons que vous souhaitiez renseigner un groupe RadioGroup avec des sélections d'une base de données ou une autre raison nécessitant de le faire par programme plutôt que d'utiliser un fichier de présentation. Nous vous recommandons d'inclure tout de même un contrôle RadioGroup vide dans votre fichier de présentation, à des fins de conception. Assurez-vous qu’un identifiant unique lui est associé pour pouvoir y accéder par programme..
Créons une radiocommande très similaire à celle illustrée à la figure 2, mais faisons-le par programme et utilisons l'orientation par défaut de RadioGroup, horizontale. Dans votre classe d'activité (par exemple, dans votre méthode onCreate ()), créez et ajoutez des contrôles RadioButton, comme suit:
RadioGroup rGroup3 = (RadioGroup) findViewById (R.id.radio_group3); OnClickListener radio_listener = new OnClickListener () annulation publique onClick (Afficher v) onRadioButtonClick (v); ; RadioButton button1 = new RadioButton (this); button1.setText (R.string.rad_option1); button1.setTextColor (Color.RED); button1.setOnClickListener (radio_listener); rGroup3.addView (button1); RadioButton button2 = new RadioButton (this); button2.setText (R.string.rad_option2); button2.setTextColor (Color.GREEN); button2.setOnClickListener (radio_listener); rGroup3.addView (button2); RadioButton button3 = new RadioButton (this); button3.setText (R.string.rad_option3); button3.setTextColor (Color.BLUE); button3.setOnClickListener (radio_listener); rGroup3.addView (button3); rGroup3.check (button1.getId ());
Tout d'abord, nous trouvons le groupe radio vide défini dans notre fichier de présentation (voir le code source pour plus de détails si vous avez besoin de plus d'informations). Ensuite, nous créons trois contrôles RadioButton, définissons leurs attributs texte, couleur du texte et onClickListener par programmation. Enfin, nous ajoutons chacun au contrôle parent RadioGroup et définissons le contrôle radio RadioButton rouge à vérifier par défaut à l'aide de la méthode check () de la classe RadioGroup..
Les commandes RadioGroup et RadioButton sont couramment utilisées dans les interfaces utilisateur d’applications Android pour donner à l’utilisateur un ensemble court d’options, dont une seule peut être sélectionnée à un moment donné. Dans cette astuce, vous avez appris à créer des contrôles radio dans des fichiers de présentation ainsi que par programme. Vous avez également appris que les commandes radio ne doivent pas forcément être ennuyeuses, mais peuvent être appelées de différentes manières..
Les développeurs mobiles Lauren Darcey et Shane Conder ont co-écrit plusieurs livres sur le développement Android: un livre de programmation en profondeur intitulé Développement d'applications sans fil Android, deuxième édition et Sams Teach Yourself Développement d'applications Android dans 24 heures, Deuxième édition. Lorsqu'ils n'écrivent pas, ils passent leur temps à développer des logiciels mobiles dans leur entreprise et à fournir des services de conseil. Vous pouvez les contacter par courrier électronique à l'adresse [email protected], via leur blog à l'adresse androidbook.blogspot.com et sur Twitter @androidwireless..
я я