Android - Control de grupo de radio

Se utiliza una clase RadioGroup para un conjunto de botones de opción.

Si marcamos un botón de radio que pertenece a un grupo de radio, automáticamente desmarca cualquier botón de radio previamente marcado dentro del mismo grupo.

Atributos de RadioGroup

Los siguientes son los atributos importantes relacionados con el control de RadioGroup. Puede consultar la documentación oficial de Android para obtener una lista completa de atributos y métodos relacionados que puede usar para cambiar estos atributos en tiempo de ejecución.

Atributo Descripción
android: checkButton Esta es la identificación del botón de opción secundario que debe marcarse de forma predeterminada dentro de este grupo de opciones.

Heredado de android.view.View Clase -

No Señor. Atributo y descripción
1

android:background

Este es un dibujo para usar como fondo.

2

android:contentDescription

Esto define el texto que describe brevemente el contenido de la vista.

3

android:id

Esto proporciona un nombre de identificador para esta vista

4

android:onClick

Este es el nombre del método en el contexto de esta vista para invocar cuando se hace clic en la vista.

5

android:visibility

Esto controla la visibilidad inicial de la vista.

Ejemplo

Este ejemplo lo llevará a través de sencillos pasos para mostrar cómo crear su propia aplicación de Android usando Linear Layout y RadioGroup.

Paso Descripción
1 Utilizará Android Studio IDE para crear una aplicación de Android y nombrarla como Mi aplicación en un paquete com.example.saira_000.myapplication; como se explica en el capítulo Ejemplo de Hello World .
2 Modifique el archivo src / MainActivity.java para agregar un evento de clic.
2 Modifique el contenido predeterminado del archivo res / layout / activity_main.xml para incluir el control de la interfaz de usuario de Android.
3 No es necesario cambiar las constantes predeterminadas en res / values ​​/ strings.xml, android studio se encarga de las constantes predeterminadas.
4 Ejecute la aplicación para iniciar el emulador de Android y verifique el resultado de los cambios realizados en la aplicación.

A continuación se muestra el contenido del archivo de actividad principal modificado src/MainActivity.java. Este archivo puede incluir cada uno de los métodos fundamentales del ciclo de vida.

En el siguiente ejemplo, abc indica la imagen de tutorialspoint
package com.example.saira_000.myapplication;

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

public class MainActivity extends Activity {
   private RadioGroup radioSexGroup;
   private RadioButton radioSexButton;
   private Button btnDisplay;
   
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      radioSexGroup=(RadioGroup)findViewById(R.id.radioGroup);
      
      btnDisplay=(Button)findViewById(R.id.button);
      
      btnDisplay.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            int selectedId=radioSexGroup.getCheckedRadioButtonId();
            radioSexButton=(RadioButton)findViewById(selectedId);
            Toast.makeText(MainActivity.this,radioSexButton.getText(),Toast.LENGTH_SHORT).show();
         }
      });
   }
}

A continuación se mostrará el contenido de res/layout/activity_main.xml archivo -

<?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:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin"
   tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Radio button"
      android:id="@+id/textView"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="35dp" />
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorialspoint"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_alignRight="@+id/textView"
      android:layout_alignEnd="@+id/textView"
      android:textSize="35dp"
      android:textColor="@android:color/holo_green_dark" />
   
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView2"
      android:layout_alignLeft="@+id/textView"
      android:layout_alignStart="@+id/textView"
      android:layout_alignRight="@+id/textView"
      android:layout_alignEnd="@+id/textView" />
   
   <RadioGroup
      android:layout_width="fill_parent"
      android:layout_height="90dp"
      android:layout_below="@+id/imageView"
      android:layout_marginTop="58dp"
      android:weightSum="1"
      android:id="@+id/radioGroup"
      android:layout_alignLeft="@+id/textView2"
      android:layout_alignStart="@+id/textView2"
      android:layout_alignRight="@+id/textView3"
      android:layout_alignEnd="@+id/textView3">
   
      <RadioButton
         android:layout_width="wrap_content"
         android:layout_height="55dp"
         android:text="Male"
         android:id="@+id/radioButton"
         android:layout_gravity="center_horizontal"
         android:checked="false"
         android:textSize="25dp" />

      <RadioButton
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="Female"
         android:id="@+id/radioButton2"
         android:layout_gravity="center_horizontal"
         android:checked="false"
         android:textSize="25dp"
         android:layout_weight="0.13" />
   </RadioGroup>

   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="    Are you?"
      android:id="@+id/textView3"
      android:textSize="35dp"
      android:layout_below="@+id/imageView"
      android:layout_alignRight="@+id/textView2"
      android:layout_alignEnd="@+id/textView2"
      android:layout_alignLeft="@+id/imageView"
      android:layout_alignStart="@+id/imageView" />
   
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="New Button"
      android:id="@+id/button"
      android:layout_gravity="center_horizontal"
      android:layout_below="@+id/radioGroup"
      android:layout_centerHorizontal="true" />

</RelativeLayout>

A continuación se mostrará el contenido de res/values/strings.xml para definir estas nuevas constantes -

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">My Applicaiton</string>
   <string name="example_radiogroup">Example showing RadioGroup</string>
</resources>

A continuación se muestra el contenido predeterminado 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>

Intentemos ejecutar tu My Applicationsolicitud. Supongo que habías creado tuAVDmientras realiza la configuración del entorno. Para ejecutar la aplicación desde Android Studio, abra uno de los archivos de actividad de su proyecto y haga clic en el icono Ejecutar de la barra de herramientas. Android Studio instala la aplicación en su AVD y la inicia y, si todo está bien con su configuración y aplicación, se mostrará la siguiente ventana del emulador:

Aparecerá la siguiente pantalla, aquí tenemos un RadioGroup.

Necesita seleccionar el botón de radio masculino o femenino y luego hacer clic en el botón nuevo. si realiza los pasos anteriores sin fallar, recibirá un mensaje de brindis después de hacer clic en el botón nuevo

Ejercicio

Recomendaré probar el ejemplo anterior con diferentes atributos de RadioButton en el archivo XML de diseño también en el momento de la programación para tener una apariencia diferente del RadioButton. Intente hacerlo editable, cambie el color de fuente, la familia de fuente, el ancho, el tamaño del texto, etc. y vea el resultado. También puede probar el ejemplo anterior con múltiples controles RadioButton en una actividad.