Modul pentru interfața cu utilizatorul Android Butoane radio

În acest tutorial rapid veți învăța cum să creați controale de selecție radio principale Android utilizând RadioGroup și RadioButton. Veți învăța, de asemenea, cum să reacționați atunci când utilizatorul selectează o opțiune radio specifică, precum și cum să umpleți comenzile radio în moduri diferite.

Acest sfat rapid vă arată pașii pentru a crea controale simple de selectare a butoanelor radio în aplicațiile Android. În primul rând, veți afla cum să configurați controalele RadioGroup și RadioButton în fișierele de aspect. Apoi, veți învăța cum să manipulați selecțiile RadioButton de la utilizator. În cele din urmă, discutăm despre modul în care să efectuăm aceleași activități programat în loc de fișierele de aspect.

Pasul 1: Creați o aplicație Android

Începeți prin crearea unui proiect Android. Implementați-vă aplicația Android ca în mod normal. Odată ce ați configurat un proiect și executați aplicația, decideți în ce ecran să adăugați controalele RadioButton. Poate că ați creat pur și simplu un nou proiect Android cu Activitatea și layout-ul implicit (main.xml). Acest lucru va funcționa pentru acest tutorial. Odată ce ați instalat proiectul Android, sunteți pregătit să continuați cu acest sfat rapid.

Puteți urmări împreună cu proiectul nostru: SimpleRadioButton, care este disponibil ca un proiect open source.

Pasul 2: Lucrul cu controalele RadioGroup

Kitul SDK Android include două comenzi radio pentru a fi utilizate împreună pentru a crea un grup de comenzi cu butoane radio, unde se poate alege un singur control la un moment dat. Controlul RadioGroup (android.widget.RadioGroup) este folosit pentru a încapsula un set de controale RadioButton în acest scop.

Un control RadioGroup este pur și simplu un container pentru controalele RadioButton, dar are unele proprietăți utile. De exemplu, puteți avea grupuri de butoane radio orizontale și verticale. Acest lucru este setat folosind atributul de android: orientation, la fel ca și un LinearLayout.

Iată un exemplu de control vertical RadioGroup cu trei comenzi RadioButton.

Un alt atribut interesant pe care îl puteți folosi este atributul androidCheckedButton. Puteți utiliza acest atribut pentru a seta identificatorul de vizualizare al controlului copil RadioButton pe care doriți să-l verificați în mod implicit, utilizând acest atribut.

Pasul 3: Lucrul cu controalele RadioButton

Odată ce ați configurat controlul RadioGroup, trebuie să adăugați niște controale pentru copii. Mai precis, trebuie să adăugați controalele RadioGroup (android.widget.RadioButton). Un control RadioButton are multe atribute pe care le veți găsi familiar controalelor TextView și Button, despre care am vorbit despre tutorialele anterioare.

Atributele tipice ale unui RadioButton sunt:

  • Atributul android: id trebuie utilizat pentru a identifica în mod unic controlul RadioButton în cadrul grupului RadioGroup
  • Atributul atributului de tip "android": trebuie să fie utilizat pentru a specifica textul asociat acelei selecții. De asemenea, pot fi setate atribute de text tipice precum culoarea, dimensiunea și stilul.
  • Atributul android: onClick ar trebui să fie utilizat pentru a specifica funcția de gestionare a clicurilor când este selectat acest RadioButton în cadrul grupului RadioGroup.

Iată un exemplu de aspect XML al unui control vertical RadioGroup cu trei controale RadioButton. Fiecare control RadioButton utilizează o resursă de șir diferită, dar toți împărtășesc acelasi handler de clicuri.

     

Pasul 4: Manipularea clicurilor - Metoda atributului Layout

Deocamdată, dacă lansați această aplicație, sunt afișate comenzile butonului radio, dar nu se întâmplă nimic dacă faceți clic pe ele. Acum este momentul să faceți clic pe controalele. Există mai multe moduri de a face acest lucru.

Să începem cu ușurință. Butoanele RadioButton au o proprietate numită onClick (afișată ca "Pe clic" în panoul de proprietăți). Setați numele metodei care va gestiona clicul cu această proprietate și apoi implementați acea metodă în cadrul activității. De exemplu, puteți seta proprietatea controlului RadioButton pe onRadioButtonClick. În XML, această proprietate ar apărea ca:

 Android: onClick = "onRadioButtonClick"

Apoi, în clasa Activitate, trebuie să implementați această metodă. Ar trebui să fie o metodă publică void cu un singur parametru, un obiect View. De exemplu, următorul buton de preluare a clicurilor generează un mesaj Toast pe ecran când se face clic pe butonul RadioButton:

 public void onRadioButtonClick (View v) Butonul RadioButton = (RadioButton) v; Toast.makeText (SimpleRadioButtonActivity.this, buton.getText () + "a fost aleasă.", Toast.LENGTH_SHORT) .show (); 

Când faceți clic pe butonul RadioButton, se va apela metoda onRadioButtonClick (), afișând mesajul Toast pe ecran.

Pasul 5: Implementarea programelor RadioButtons

Să presupunem că doriți să populați o grupare radio cu selecții dintr-o bază de date sau din alt motiv care necesită o programare în loc să utilizați un fișier de aspect. Vă recomandăm să includeți încă un control RadioGroup gol în fișierul de aspect, în scopuri de proiectare. Asigurați-vă că are un identificator unic asociat cu acesta, astfel încât acesta să poată fi accesat în mod programat.

Să creăm un control radio foarte asemănător cu cel prezentat în figura 2, să facem acest lucru doar în mod programatic și să folosim orientarea implicită a radiogrupului, orizontală. În clasa Activitate (de exemplu, în metoda onCreate (), creați și adăugați controale RadioButton, cum ar fi:

 RadioGroup rGroup3 = (RadioGroup) findViewById (R.id.radio_group3); OnClickListener radio_listener = nou OnClickListener () public void onClick (Vizualizare v) onRadioButtonClick (v); ; Butonul RadioButton1 = noul RadioButton (acesta); button1.setText (R.string.rad_option1); button1.setTextColor (Color.RED); button1.setOnClickListener (radio_listener); rGroup3.addView (button1); Butonul RadioButton2 = noul RadioButton (acesta); button2.setText (R.string.rad_option2); button2.setTextColor (Color.GREEN); button2.setOnClickListener (radio_listener); rGroup3.addView (BUTTON2); Butonul RadioButton3 = noul RadioButton (acesta); button3.setText (R.string.rad_option3); button3.setTextColor (Color.BLUE); button3.setOnClickListener (radio_listener); rGroup3.addView (button3); rGroup3.check (button1.getId ());

Mai întâi găsim grupul RadioGroup gol, care a fost definit în fișierul de aspect (pentru detalii, consultați codul sursă dacă aveți nevoie de mai multe informații). Apoi, vom crea trei controale RadioButton, setați programatic textul, culoarea textului și atributele onClickListener. În final, adăugăm fiecare controlul părintelui RadioGroup și setăm radioul roșu pentru a fi verificat în mod implicit utilizând metoda check () din clasa RadioGroup.

Concluzie

Comenzile RadioGroup și RadioButton sunt utilizate în mod obișnuit în interfețele utilizatorilor de aplicații Android pentru a oferi utilizatorului un scurt set de opțiuni, dintre care numai unul poate fi selectat la un moment dat. În acest sfat rapid ați învățat cum să creați comenzi radio în fișierele de layout, precum și programat. Ați învățat, de asemenea, că controalele radio nu trebuie să fie plictisitoare, ci pot fi desenate în mai multe moduri.

despre autori

Dezvoltatorii mobili Lauren Darcey și Shane Conder au coautorizat mai multe cărți despre dezvoltarea Android: o carte de programare în profunzime intitulată Dezvoltarea aplicațiilor fără fir Android, ediția a doua și Sams Teach Yourself Dezvoltare de aplicații Android în 24 de ore, ediția a doua. Când nu scriu, își petrec timpul dezvoltând software-ul mobil la compania lor și oferind servicii de consultanță. Acestea pot fi obținute prin e-mail la androidwirelessdev@[email protected], prin intermediul blogului lor la androidbook.blogspot.com, și pe Twitter @ androidwireless.

Aveți nevoie de mai mult ajutor pentru scrierea aplicațiilor Android? Consultați cele mai recente cărți și resurse!

я я

Cod