Vistes a Android

guia-bàsica-programacio-android-4

Tots els elements que apareixen a la pantalla d'una aplicació d'Android són vistes. Des dels elements solts com a textos o botons, als contenidors com els grups de vistes. Aquest tema és força complex per la quantitat de detalls que hi intervenen, i per explorar les possibilitats disponibles més a fons, és molt recomanable acudir a la documentació oficial. En aquest tutorial analitzarem els elements més utilitzats, incloent grups de vistes i alguns elements bàsics.

Grups de vistes

  • Disseny lineal
    • Agrupa els elements en una sola línia, que pot ser vertical o horitzontal.
  • RelativeLayout
    • Els elements es disposen en relació entre ells i els marges. És la més flexible, i la més utilitzada.
  • ScrollView
    • S'utilitza per vistes que no hi caben a la pantalla. Només pot contenir una vista o grup de vistes, i afegeix automàticament les barres de desplaçament.
  • Distribució de taules
    • Agrupa els elements en files i columnes. Conté elements TableRow, que al seu torn contenen els elements de cada cel·la.
  • FrameLayout
    • Està pensada per a contenir una sola vista. Si s'afegeixen més, totes s'alineen a la cantonada superior esquerra, solapant.
  • AbsoluteLayout
    • Està desaprovat des de la versió 1.5 d'Android. En aquest contenidor, els elements es referencien amb coordenades absolutes partint de la cantonada superior esquerra. S'ha desaprovat perquè no s'adapta a pantalles de diferents mides, que es van popularitzar justament a partir d'Android 1.5.

Per a una aplicació senzilla, els grups més interessants per veure en detall són LinearLayout, RelativeLayout, i ScrollView. Per exemple, podem fer una Disseny lineal vertical contenint textos, i una altra horitzontal amb botons:

[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]

vistes-en-android-1

[Html]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android: layout_width = "match_parent"
android: layout_height = "match_parent"
android: orientation = "horitzontal">
<Button
android: id = "@ + id / Button1"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Botó 1" />
<Button
android: id = "@ + id / Button2"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Botó 2" />
<Button
android: id = "@ + id / Button3"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: text = "Botó 3" />
[/ Html]

vistes-en-android-2

Una ScrollView es pot compondre de forma molt fàcil, només ha de embolicar a l'contenidor que ha de escrolar:

[Html]
android: layout_width = "fill_parent"
android: layout_height = "fill_parent"
xmlns: android = "http://schemas.android.com/apk/res/android"
<...>
[/ Html]

Finalment, una RelativeLayout és el contenidor més versàtil i poderós, encara que també un dels més complicats de gestionar. No tocarem aquí totes les opcions perquè són massa. Per a una referència més detallada acudirem a la documentació oficial. Un exemple senzill seria el següent: dos botons en la mateixa horitzontal, un amb la mida de el text que conté, i l'altre s'expandeix per ocupar la resta de la fila:
[Html]
<RelativeLayout
xmlns: android = "http://schemas.android.com/apk/res/android"
android: layout_width = "match_parent"
android: layout_height = "match_parent">
<Button
android: id = "@ + id / Button1"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_alignParentLeft = "true"
android: layout_alignParentTop = "true"
android: text = "Botó 1" />
<Button
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 = "Botó 2" />

[/ Html]

vistes-en-android-3

En aquest exemple, el primer botó s'alinea amb el marge esquerre i superior de l'contenidor, i el botó 2 s'alinea amb el marge superior, el dret, ia la dreta de el botó 1.

Vistes

  • Visualització de text
    • Mostra un text fix.
  • Edita el text
    • Conté un text editable.
  • Botó
    • Botó simple.
  • ImageButton
    • Aquest botó permet mostrar una imatge en comptes d'un text
  • ToggleButton
    • Botó que pot mantenir el seu estat de premut fins que es prem una altra vegada.
  • checkbox
    • Botó similar a ToggleButton que funciona com una caixa de verificació.

Ja hem vist abans com funciona un TextView, ja que només ha d'incloure un text. a la documentació oficial podem trobar opcions més avançades com variar la font, la mida de el text, el color, i moltes més.

Més interès tenen els botons, ja que d'alguna manera hem de associar una acció. Anem a veure dues formes. En una, associem directament l'acció en el codi de la nostra activitat:

[Html]
Button button = (Button) findViewById (R.id.button1);
button.setOnClickListener (new View.OnClickListener () {
public void onClick (View v) {
DisplayToast ( "Has premut el botó");
}
});
[/ Html]

Aquí la clau és l'id que li hem donat a l'element en el fitxer XML, el necessitem per localitzar-lo en el codi. Amb ell, podem associar l'acció que necessitem. Una altra alternativa seria incloure en l'XML de el botó l'element «android: onClick =" btnClicked ", i després afegir directament en el codi de l'activitat el mètode amb el nom indicat:

[Html]
public void onClick (View v) {
DisplayToast ( "Has premut el botó");
}
[/ Html]

Per a un checkbox o ToggleButton podem fer alguna cosa similar a el primer mètode. Obtenim la referència a través d'findViewById, i apliquem el següent fragment:

[Html]
button.setOnCheckedChangeListener (new OnCheckedChangeListener () {
@Override public void onCheckedChanged (CompoundButton buttonView, boolean isChecked) {
if (isChecked) DisplayToast ( "Has activat el botó");
else DisplayToast ( "Has desactivat el botó");
}
});
[/ Html]


T'interessa:
Com eliminar virus en Android

8 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Actualitat Bloc
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   CHIVA va dir

    Hola gosses meu nom és el boc
    vull agafar amb el ivan

  2.   el cubà va dir

    Que bonica veïnatge que bonica veïnatge és el veïnatge de l'nigga no valdrà ni un cèntim però aquesta enfangada

  3.   POLL va dir

    Vull agafar amb el chuy

  4.   Haidé va dir

    Com li ago per instal·lar un Apk? Urgent !!

    1.    Francisco Ruiz va dir

      Agafes l'arxiu Apk i el copies a la sdcard o memòria interna de l'terminal en què decideixes instal·lar. Després, amb qualsevol explorador d'arxius entres a la ruta on l'has enganxat i clickant a ell s'executarà automàticament. si et torna una finestreta amb un botó que posa ajustos hauràs de clicar en ell per activar els permisos per poder instal·lar aplicacions d'orígens desconeguts.

  5.   Ludovico va dir

    srs. Quin és el significat de la simbologia d'Android?
    L

  6.   TUGFA va dir

    TEU GFA TÉ UN sidral DE 20 metres i la CHIVA se la menja a sentones

  7.   damian va dir

    la part que diu
    public void onClick (View v) {
    DisplayToast ( "Has premut el botó");
    }
    hauria de ser
    public void btnClicked (View v) {
    DisplayToast ( "Has premut el botó");
    }