Android - RadioGroup Control
Una classe RadioGroup viene utilizzata per il set di pulsanti di opzione.
Se selezioniamo un pulsante di opzione che appartiene a un gruppo di radio, deseleziona automaticamente qualsiasi pulsante di opzione precedentemente selezionato all'interno dello stesso gruppo.
Attributi RadioGroup
Di seguito sono riportati gli attributi importanti relativi al controllo RadioGroup. Puoi controllare la documentazione ufficiale di Android per un elenco completo di attributi e metodi correlati che puoi utilizzare per modificare questi attributi in fase di esecuzione.
Attributo | Descrizione |
---|---|
Android: CheckButton | Questo è l'ID del pulsante di opzione figlio che dovrebbe essere selezionato per impostazione predefinita all'interno di questo gruppo radio. |
Ereditato da android.view.View Classe -
Sr.No. | Attributo e descrizione |
---|---|
1 | android:background Questo è un disegnabile da usare come sfondo. |
2 |
android:contentDescription Definisce il testo che descrive brevemente il contenuto della vista. |
3 |
android:id Fornisce un nome identificativo per questa vista |
4 |
android:onClick Questo è il nome del metodo nel contesto di questa vista da richiamare quando si fa clic sulla vista. |
5 |
android:visibility Controlla la visibilità iniziale della vista. |
Esempio
Questo esempio ti guiderà attraverso semplici passaggi per mostrare come creare la tua applicazione Android utilizzando Linear Layout e RadioGroup.
Passo | Descrizione |
---|---|
1 | Utilizzerai l'IDE di Android Studio per creare un'applicazione Android e denominarla come My Application in un pacchetto com.example.saira_000.myapplication; come spiegato nel capitolo Hello World Example . |
2 | Modificare il file src / MainActivity.java per aggiungere un evento clic. |
2 | Modifica il contenuto predefinito del file res / layout / activity_main.xml per includere il controllo dell'interfaccia utente Android. |
3 | Non è necessario modificare le costanti predefinite in res / values / strings.xml, Android Studio si occupa delle costanti predefinite. |
4 | Esegui l'applicazione per avviare l'emulatore Android e verifica il risultato delle modifiche apportate nell'applicazione. |
Di seguito è riportato il contenuto del file di attività principale modificato src/MainActivity.java. Questo file può includere ciascuno dei metodi fondamentali del ciclo di vita.
Nell'esempio sotto abc indica l'immagine di 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();
}
});
}
}
Di seguito sarà il contenuto di res/layout/activity_main.xml file -
<?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>
Di seguito sarà il contenuto di res/values/strings.xml per definire queste nuove costanti -
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">My Applicaiton</string>
<string name="example_radiogroup">Example showing RadioGroup</string>
</resources>
Di seguito è riportato il contenuto predefinito di 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>
Proviamo a eseguire il tuo My Applicationapplicazione. Presumo che tu abbia creato il tuoAVDdurante l'impostazione dell'ambiente. Per eseguire l'app da Android Studio, apri uno dei file di attività del tuo progetto e fai clic sull'icona Esegui dalla barra degli strumenti. Android Studio installa l'app sul tuo AVD e la avvia e se tutto va bene con la configurazione e l'applicazione, verrà visualizzata la seguente finestra dell'emulatore:
Apparirà la seguente schermata, qui abbiamo un RadioGroup.
È necessario selezionare il pulsante di opzione maschio o femmina, quindi fare clic sul nuovo pulsante. se esegui i passaggi precedenti senza errori, riceverai un messaggio di avviso dopo aver fatto clic sul nuovo pulsante
Esercizio
Consiglierò di provare l'esempio sopra con diversi attributi di RadioButton nel file XML di layout e al momento della programmazione per avere un aspetto e un aspetto diversi del RadioButton. Prova a renderlo modificabile, cambia il colore del carattere, la famiglia del carattere, la larghezza, la dimensione del testo ecc.E guarda il risultato. Puoi anche provare l'esempio precedente con più controlli RadioButton in un'unica attività.