Design dell'interfaccia utente Android pulsanti radio

In questo breve tutorial imparerai come creare i comandi di selezione di base della radio Android usando RadioGroup e RadioButton. Imparerai anche come reagire quando l'utente seleziona una specifica opzione radio, oltre a come popolare i controlli radio in modi diversi.

Questo suggerimento rapido mostra i passaggi per creare semplici controlli di selezione dei pulsanti di scelta nelle applicazioni Android. Innanzitutto, si impara come configurare i controlli RadioGroup e RadioButton nei file di layout. Successivamente, si impara come gestire le selezioni di RadioButton dall'utente. Infine, discutiamo su come eseguire le stesse attività a livello di programmazione anziché nei file di layout.

Passaggio 1: crea un'applicazione Android

Inizia creando un progetto Android. Implementa la tua applicazione Android normalmente. Una volta che hai configurato un progetto e l'applicazione è in esecuzione, decidi in quale schermata vuoi aggiungere i controlli di RadioButton. Forse hai semplicemente creato un nuovo progetto Android con l'attività e il layout predefiniti (main.xml). Questo funzionerà per questo tutorial. Una volta che hai impostato il tuo progetto Android, sei pronto per procedere con questo suggerimento rapido.

Puoi seguire insieme al nostro progetto: SimpleRadioButton, che è disponibile come progetto open source.

Passaggio 2: utilizzo dei controlli RadioGroup

L'SDK di Android include due controlli radio da utilizzare insieme per creare un gruppo di controlli di pulsanti di opzione in cui è possibile selezionare un solo controllo in un dato momento. Il controllo RadioGroup (android.widget.RadioGroup) viene utilizzato per incapsulare un insieme di controlli RadioButton per questo scopo.

Un controllo RadioGroup è semplicemente un contenitore per i controlli di RadioButton, ma ha alcune proprietà utili. Ad esempio, è possibile avere gruppi di pulsanti di opzione orizzontali e verticali. Questo è impostato usando l'attributo android: orientation, proprio come faresti con un LinearLayout.

Ecco un esempio di un controllo RadioGroup verticale con tre controlli RadioButton.

Un altro attributo interessante che potresti usare è l'attributo androidCheckedButton. È possibile utilizzare questo attributo per impostare l'identificatore di vista del controllo figlio RadioButton che si desidera verificare per impostazione predefinita utilizzando questo attributo.

Passaggio 3: utilizzo dei controlli RadioButton

Dopo aver configurato il Controllo RadioGroup, è necessario aggiungere alcuni controlli figlio ad esso. In particolare, è necessario aggiungere i controlli RadioGroup (android.widget.RadioButton). Un controllo RadioButton ha molti attributi che troverai familiari ai controlli TextView e Button, di cui abbiamo parlato in precedenti tutorial.

Gli attributi tipici di un RadioButton sono:

  • L'attributo android: id dovrebbe essere usato per identificare in modo univoco il controllo RadioButton all'interno del Gruppo Radio
  • L'attributo android: text dovrebbe essere usato per specificare il testo associato a quella selezione. È possibile impostare anche attributi di testo tipici come colore, dimensione e stile.
  • Androide: l'attributo onClick deve essere utilizzato per specificare il gestore di clic quando viene selezionato questo pulsante Radio all'interno del Gruppo Radio.

Ecco un esempio di layout XML di un controllo RadioGroup verticale con tre controlli RadioButton. Ogni controllo RadioButton utilizza una risorsa stringa diversa, ma tutti condividono lo stesso gestore di clic.

     

Passaggio 4: Gestione dei clic: il metodo dell'attributo di layout

Per ora, se si avvia questa applicazione, vengono visualizzati i controlli del pulsante di opzione, ma non succede nulla se si fa clic su di essi. Ora è il momento di gestire i clic sui controlli. Ci sono diversi modi per farlo.

Iniziamo con il modo semplice. I controlli RadioButton hanno una proprietà chiamata onClick (mostrato come "On Click" nel riquadro delle proprietà). Si imposta il nome del metodo che gestirà il clic con questa proprietà e quindi lo implementerà all'interno dell'attività. Ad esempio, è possibile impostare la proprietà del controllo RadioButton su onRadioButtonClick. In XML, questa proprietà apparirebbe come:

 Android: onClick = "onRadioButtonClick"

Quindi, nella classe Attività, è necessario implementare questo metodo. Dovrebbe essere un metodo public void con un singolo parametro, un oggetto View. Ad esempio, il seguente gestore di clic del pulsante genera un messaggio Toast sullo schermo quando viene fatto clic sul controllo RadioButton:

 public void onRadioButtonClick (View v) RadioButton button = (RadioButton) v; Toast.makeText (SimpleRadioButtonActivity.questo, button.getText () + "è stato scelto.", Toast.LENGTH_SHORT) .show (); 

Quando si fa clic sul controllo RadioButton, viene chiamato il metodo onRadioButtonClick (), che visualizza il messaggio Toast sullo schermo.

Passaggio 5: implementazione di pulsanti di opzione a livello di codice

Diciamo che vuoi popolare un gruppo radio con selezioni da un database, o qualche altra ragione che richiede di farlo in modo programmatico invece di usare un file di layout. Ti consigliamo di includere ancora un controllo RadioGroup vuoto nel file di layout, per scopi di progettazione. Assicurati che abbia un identificativo univoco associato ad esso in modo che possa essere consultato a livello di programmazione.

Creiamo un controllo radio molto simile a quello mostrato in Figura 2, facciamo solo la programmazione e usiamo l'orientamento predefinito di RadioGroup, orizzontale. Nella tua classe Attività (ad esempio, nel tuo metodo onCreate ()), crea e aggiungi controlli RadioButton, come questo:

 RadioGroup rGroup3 = (RadioGroup) findViewById (R.id.radio_group3); OnClickListener radio_listener = new OnClickListener () public void onClick (View v) onRadioButtonClick (v); ; RadioButton button1 = new RadioButton (questo); 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 ());

Innanzitutto, troviamo il RadioGroup vuoto che è stato definito nel nostro file di layout (per ulteriori dettagli, vedere il codice sorgente per ulteriori informazioni). Quindi creiamo tre controlli RadioButton, impostiamo il loro testo, il colore del testo e gli attributi onClickListener a livello di codice. Infine, aggiungiamo ognuno al controllo genitore di RadioGroup e impostiamo il RadioButton rosso da controllare per default usando il metodo check () della classe RadioGroup.

Conclusione

I controlli RadioGroup e RadioButton sono comunemente usati nelle interfacce utente delle applicazioni Android per offrire all'utente un breve set di opzioni, di cui solo una può essere selezionata in un dato momento. In questo rapido suggerimento hai imparato a creare radiocomandi nei file di layout e anche a livello di programmazione. Hai anche imparato che i controlli radio non devono essere noiosi, ma possono essere abbinati in molti modi.

Riguardo agli Autori

Gli sviluppatori mobili Lauren Darcey e Shane Conder hanno coautore diversi libri sullo sviluppo di Android: un libro di programmazione approfondito intitolato Sviluppo di applicazioni wireless Android, seconda edizione e Sams ti insegna a sviluppare applicazioni Android in 24 ore, seconda edizione. Quando non scrivono, passano il loro tempo a sviluppare software mobile presso la loro azienda ea fornire servizi di consulenza. Possono essere contattati via email a [email protected], tramite il loro blog su androidbook.blogspot.com e su Twitter @androidwireless.

Hai bisogno di più aiuto nella scrittura di app per Android? Consulta i nostri ultimi libri e risorse!

я я