1 / 18

Android Layouts

Android Layouts. 2012 NCIT Summer School. Componentele Grafice. UI-ul este alcatuit din obiecte de tip View sau ViewGroup : View este clasa moştenită de widgets . ViewGroup este clasa moştenită de layouts . Sunt plasate într-un Activity. Widgets. Statice TextView ProgressBar

varden
Download Presentation

Android Layouts

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Android Layouts 2012 NCIT Summer School

  2. Componentele Grafice • UI-ul este alcatuit din obiecte de tip View sau ViewGroup: • View este clasa moştenită de widgets. • ViewGroup este clasa moştenită de layouts. • Sunt plasate într-un Activity.

  3. Widgets • Statice • TextView • ProgressBar • ImageView • Dinamice • EditText • Button • CheckBox • RadioButton • MapView

  4. Layouts • Elemente de tip container (pot conţine alte View-uri) • Tipuri: • LinearLayout • RelativeLayout • TableLayout • ScrollLayout

  5. Resurse • Se regasesc grupate in directorul res. • Imagini (drawable) • drawable-hdpi • drawable-mdpi • drawable-ldpi • Accesul din cod are loc folosind: R.drawable.nume

  6. Resurse • Interfeţe grafice • layout • Accesul din cod are loc folosind: R.layout.nume • Constante • values

  7. Constructia Layout-urilor • Din cod sau folosind un fişier xml. • Fişierul xml se ataseaza unui Activity în cod: this.setContentView (R.layout.nume); • Pentru a customiza un element dintr-o lista, se defineşte corespunzător fişierul xml şi se încarcă apoi asupra view-ului element: View element = inflater.inflate (R.layout.list_element_view, null);

  8. Exemplu de fişier GUI XML

  9. Exemplu de fişier GUI XML • xmlns:android – necesar de definit doar pentru componenta radacina • android:layout_width şi android:layout_height sunt obligatorii • Valori: • fill_parent, wrap_content • px, dp, sp, mm, in, pt • android:id – necesar pentru utilizarea componentei in codul Java • @+id/button1 – în xml • R.id.button1 – în cod

  10. Exemplu de fişier GUI XML

  11. Unităţi de Măsură pentru Dimensiuni • dp – Density Independent Pixels • Unitate de măsură abstractă, bazată pe densitatea de pixeli a ecranului. Unitatea este relativă la 160dpi. Deci 160dp va avea mereu 1 inch indiferent de densitatea ecranului. Se recomanda a fi aplicat asupra view-urilor pentru ca sistemul sa scaleze corespunzator dimensiunea acestora indiferent de marimea ecranului. • sp – Scale Independent Pixels • Analog cu dp, dar se recomanda a fi aplicat asupra fonturilor. • pt – Points • 1/72 dintr-un inch, bazată pe dimensiunea fizica a ecranului. • px – Pixeli • mm - Milimetri • in - Inches

  12. Resurse în funcţie de Densitatea Pixelilor • ldpi – Low Density Screens • 120dpi • mdpi – Medium Density Screens • 160dpi • hdpi – High Density Screens • 240dpi • xhdpi – Extra High Density Screens • 230dpi • nodpi – folosit pe resurse de tip bitmap daca nu se doreste scalarea in functie de dimensiunea ecranului • Avem o scalare 3:4:6:8 intre cele cele 4 densitati. Deci un bitmap de 9x9 in ldpi va avea 12x12 în mdpi, 18x18 în hdpi şi 24x24 în xhdpi.

  13. Meniu • Activat la apăsarea tastei Meniu. • Trebuie suprascrise metodele: • public booleanonCreateOptionsMenu(Meniu menu); • public booleanonOptionsItemSelected (MenuItem item) • Adăugarea unui meniu din cod: • menu.add(…); • Definirea meniului într-un fişier xml.

  14. Exemplu Meniu doar Cod Java

  15. Exemplu Meniu XML

  16. Exemplu Meniu XML în cod Java

  17. Toast

  18. Task

More Related