Toate elementele care apar pe ecranul unei aplicații Android sunt vizualizări. De la elemente individuale precum texte sau butoane, la containere precum grupuri de vizualizări. Acest subiect este destul de complex datorită cantității de detalii implicate și, pentru a explora mai în detaliu posibilitățile disponibile, este foarte recomandat să mergeți la documentație oficială. În acest tutorial vom analiza cele mai utilizate elemente, inclusiv grupuri de vizualizări și câteva elemente de bază.
Vizualizați grupurile
- LinearLayout
- Grupează elementele într-o singură linie, care poate fi verticală sau orizontală.
- RelativeLayout
- Elementele sunt aranjate unul în raport cu celălalt și cu marginile. Este cel mai flexibil și cel mai folosit.
- vizualizare de defilare
- Este folosit pentru vizualizări care nu se potrivesc pe ecran. Poate conține o singură vizualizare sau un grup de vizualizări și adaugă automat bare de defilare.
- TableLayout
- Grupați elementele în rânduri și coloane. Conține elemente TableRow, care la rândul lor conțin elementele fiecărei celule.
- FrameLayout
- Este destinat să conțină o singură vizualizare. Dacă se adaugă mai multe, toate se aliniază în colțul din stânga sus, suprapunându-se.
- AbsoluteLayout
- Este depreciat de la versiunea Android 1.5. În acest container, elementele sunt menționate cu coordonate absolute începând din colțul din stânga sus. A fost învechit deoarece nu se adaptează la ecrane de diferite dimensiuni, care au devenit populare chiar și la Android 1.5.
Pentru o aplicație simplă, cele mai interesante grupuri de văzut în detaliu sunt LinearLayout, RelativeLayout și ScrollView. De exemplu, putem face un LinearLayout vertical conținând texte și o altă orizontală cu butoane:
[html]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android: layout_width = "match_parent"
android: layout_height = "match_parent"
android: orientation = "vertical">
<TextView
android: id = "@ + id / textView1"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Text 1" />
<TextView
android: id = "@ + id / textView2"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Text 2" />
<TextView
android: id = "@ + id / textView3"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Text 3" />
<TextView
android: id = "@ + id / textView4"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Text 4" />
[/ html]
[html]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android: layout_width = "match_parent"
android: layout_height = "match_parent"
android: orientation = "horizontal">
<Buton
android: id = "@ + id / button1"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Butonul 1" />
<Buton
android: id = "@ + id / button2"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Butonul 2" />
<Buton
android: id = "@ + id / button3"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Butonul 3" />
[/ html]
o vizualizare de defilare Poate fi compus foarte ușor, trebuie doar să înfășurați containerul pe care trebuie să îl scrieți:
android: layout_width = "fill_parent"
android: layout_height = "fill_parent"
xmlns: android = "http://schemas.android.com/apk/res/android"
<...>
[/ html]
<RelativeLayout
xmlns: android = "http://schemas.android.com/apk/res/android"
android: layout_width = "match_parent"
android: layout_height = "match_parent">
<Buton
android: id = "@ + id / button1"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_alignParentLeft = "true"
android: layout_alignParentTop = "true"
android: text = "Butonul 1" />
<Buton
android: id = "@ + id / button2"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_alignParentRight = "true"
android: layout_alignParentTop = "true"
android: layout_toRightOf = "@ + id / button1"
android: text = "Butonul 2" />
[/ html]
În acest exemplu, primul buton se aliniază cu marginile din stânga și de sus ale containerului, iar butonul 2 se aliniază cu marginile de sus, din dreapta și din dreapta ale butonului 1.
Vistas
- TextView
- Afișează un text fix.
- Editează textul
- Conține text modificabil.
- Buton
- Buton simplu.
- ImageButton
- Acest buton vă permite să afișați o imagine în loc de text
- Buton de comutare
- Buton care își poate menține starea apăsată până când este apăsat din nou.
- Caseta de bifat
- Buton similar cu ToggleButton care funcționează ca o casetă de selectare.
Am văzut înainte cum funcționează un TextView, deoarece trebuie să includă doar text. În documentație oficială putem găsi opțiuni mai avansate, cum ar fi varianta fontului, dimensiunea textului, culoarea și multe altele.
Butoanele prezintă mai mult interes, întrucât cumva trebuie să le asociem o acțiune. Vom vedea două moduri. Într-una, asociem direct acțiunea în codul activității noastre:
Buton buton = (Buton) findViewById (R.id.button1);
button.setOnClickListener (nou View.OnClickListener () {
public void onClick (View v) {
DisplayToast („Ați apăsat butonul”);
}
});
[/ html]
Aici cheia este id-ul pe care l-am dat elementului din fișierul XML, avem nevoie de el pentru a-l localiza în cod. Cu aceasta, putem asocia acțiunea de care avem nevoie. O altă alternativă ar fi includerea elementului „android: onClick =“ btnClicked ”în butonul XML și apoi adăugarea metodei cu numele indicat direct în codul de activitate:
[html]
public void onClick (View v) {
DisplayToast („Ați apăsat butonul”);
}
[/ html]
Pentru un CheckBox sau un ToggleButton putem face ceva similar cu prima metodă. Obținem referința prin findViewById și aplicăm următorul fragment:
[html]
button.setOnCheckedChangeListener (nou OnCheckedChangeListener () {
@Override public void onCheckedChanged (CompoundButton buttonView, boolean isChecked) {
if (isChecked) DisplayToast („Ați activat butonul”);
else DisplayToast („Ați dezactivat butonul”);
}
});
[/ html]
Bună, cățea, mă numesc capra
Vreau să mă trag cu Ivan
Ce cartier drăguț ce cartier drăguț este cartierul cioara nu va merita un ban, dar este noroios
Vreau să mă trag cu chuy
Cum instalez un apk? Urgent !!
Luați fișierul apk și îl copiați pe sdcard sau în memoria internă a terminalului în care decideți să instalați. Apoi, cu orice explorator de fișiere, introduceți calea pe care ați lipit-o și făcând clic pe ea va rula automat. Dacă revine o fereastră mică cu un buton care pune setări, trebuie să faceți clic pe ea pentru a activa permisiunile pentru a putea instala aplicații din surse necunoscute.
Domnul. Care este semnificația simbolologiei Android?
L
GFA-UL TĂU ARE O PITOTĂ de 20 de metri și CHIVA o mănâncă
partea care spune
public void onClick (View v) {
DisplayToast („Ați apăsat butonul”);
}
ar trebui să fie
public void btnClicked (Vizualizare v) {
DisplayToast („Ați apăsat butonul”);
}