Android - Contrôle RadioButton

Un RadioButton a deux états: coché ou non coché, ce qui permet à l'utilisateur de sélectionner une option dans un ensemble.

Bouton radio

Exemple

Cet exemple vous guidera à travers des étapes simples pour montrer comment créer votre propre application Android à l'aide de Linear Layout et RadioButton.

Étape La description
1 Vous utiliserez Android Studio pour créer une application Android et la nommerez My Application sous un package com.example.saira_000.myapplication comme expliqué dans le chapitre Exemple Hello World .
2 Modifiez le fichier src / MainActivity.java pour ajouter un événement de clic.
2 Modifiez le contenu par défaut du fichier res / layout / activity_main.xml pour inclure le contrôle de l'interface utilisateur Android.
3 Android Studio prend en charge les constantes par défaut, donc pas besoin de déclarer les constantes par défaut dans le fichier string.xml
4 Exécutez l'application pour lancer l'émulateur Android et vérifier le résultat des modifications effectuées dans l'application.

Voici le contenu du fichier d'activité principal modifié src/MainActivity.java. Ce fichier peut inclure chacune des méthodes fondamentales du cycle de vie.

Dans l'exemple ci-dessous, abc indique l'image de tutorialspoint
package com.example.saira_000.myapplication;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
   RadioGroup rg1;
   RadioButton rb1;
   Button b1;
   
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      addListenerRadioButton();
   }
   
   private void addListenerRadioButton() {
      rg1 = (RadioGroup) findViewById(R.id.radioGroup);
      b1 = (Button) findViewById(R.id.button2);
      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            int selected=rg1.getCheckedRadioButtonId();
            rb1=(RadioButton)findViewById(selected);
            Toast.makeText(MainActivity.this,rb1.getText(),Toast.LENGTH_LONG).show();
         }
      });
   }
}

Voici le contenu de res/layout/activity_main.xml fichier -

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity">
   
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Example of Radio Button"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp" />
      
   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point"
      android:textColor="#ff87ff09"
      android:textSize="30dp"
      android:layout_above="@+id/imageButton"
      android:layout_centerHorizontal="true"
      android:layout_marginBottom="40dp" />
      
   <ImageButton
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageButton"
      android:src="@drawable/abc"
      android:layout_centerVertical="true"
      android:layout_centerHorizontal="true" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/button2"
      android:text="ClickMe"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true" />
   
   <RadioGroup
      android:id="@+id/radioGroup"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_below="@+id/imageButton"
      android:layout_alignLeft="@+id/textView2"
      android:layout_alignStart="@+id/textView2">
         
      <RadioButton
         android:layout_width="142dp"
         android:layout_height="wrap_content"
         android:text="JAVA"
         android:id="@+id/radioButton"
         android:textSize="25dp"
         android:textColor="@android:color/holo_red_light"
         android:checked="false"
         android:layout_gravity="center_horizontal" />
         
      <RadioButton
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="ANDROID"
         android:id="@+id/radioButton2"
         android:layout_gravity="center_horizontal"
         android:checked="false"
         android:textColor="@android:color/holo_red_dark"
         android:textSize="25dp" />
         
      <RadioButton
         android:layout_width="136dp"
         android:layout_height="wrap_content"
         android:text="HTML"
         android:id="@+id/radioButton3"
         android:layout_gravity="center_horizontal"
         android:checked="false"
         android:textSize="25dp"
         android:textColor="@android:color/holo_red_dark" />
         
   </RadioGroup>
      
</RelativeLayout>

Voici le contenu de res/values/strings.xml pour définir ces nouvelles constantes -

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">My Application</string>
</resources>

Voici le contenu par défaut de AndroidManifest.xml -

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.saira_000.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.My Application.MainActivity"
         android:label="@string/app_name" >
      
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>

      </activity>
      
   </application>
</manifest>

Essayons d'exécuter votre My Applicationapplication. Je suppose que vous avez créé votreAVDlors de la configuration de l'environnement. Pour exécuter l'application à partir d'Android Studio, ouvrez l'un des fichiers d'activité de votre projet et cliquez sur l' icône Exécuter dans la barre d'outils. Android Studio installe l'application sur votre AVD et la démarre et si tout va bien avec votre configuration et votre application, elle affichera la fenêtre Emulator suivante -

Si l'utilisateur a sélectionné l'un des boutons radio, il doit donner le même nom au message Toast. par exemple, si l'utilisateur a sélectionné JAVA, il donne un message toast en tant que JAVA

Exercice

Je recommanderai d'essayer l'exemple ci-dessus avec différents attributs de RadioButton dans le fichier XML Layout ainsi qu'au moment de la programmation pour avoir une apparence et une sensation différentes du RadioButton. Essayez de le rendre modifiable, changez la couleur de la police, la famille de police, la largeur, la taille du texte, etc. et voyez le résultat. Vous pouvez également essayer l'exemple ci-dessus avec plusieurs contrôles RadioButton dans une seule activité.