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.