Denne opplæringen vil lære deg grunnleggende om å bygge Android-grensesnittoppsett med XML. Les videre!
Når du kommer i gang med å utvikle Android-apper med Eclipse og ADT-plugin, er Eclipse's kraftige grafiske layoutredigerer et flott sted å begynne å visuelt utforme brukergrensesnittet. Men dette "hva du ser er det du får" tilnærmingen har sine begrensninger, og på et tidspunkt må du bytte til XML.
En av de største fordelene ved å erklære brukergrensesnittet ditt i XML er evnen til å holde brukergrensesnittet og oppførselen til appen din skilt, noe som gir deg friheten til å finjustere appens presentasjon uten å forstyrre sin underliggende funksjonalitet.
I denne artikkelen vil jeg vise deg hvordan du utformer en grunnleggende XML-layout fra grunnen, inkludert definering av rotelementet, spesifisering av høyde- og breddeparametere og tilsetning av enkelte grunnleggende brukergrensesnittelementer. Til slutt vil jeg bruke dette grunnleggende layoutet til å demonstrere noen avanserte XML-alternativer, for eksempel å tildele forskjellig mengde plass til forskjellige objekter, og komme i gang med strengressurser.
Merk: I Android skal XML-oppsett lagres i res / layout-katalogen med .xml-utvidelsen.
Først vil vi bli vant til XML ved å lage et svært grunnleggende Android-brukergrensesnitt som bruker LinearLayout-visningsgruppen til å holde et avkrysningsbokselement. Åpne res / layouts / activity_main.xml filen og la oss komme i gang.
Brukergrensesnittet må inneholde et enkelt rotelement som fungerer som en visuell beholder for alle dine andre gjenstander. Roterelementet kan enten være en ViewGroup (dvs. LinearLayout, ListView, GridView) et fletteelement eller en View, men det må inneholde XML-navneområdet. I dette eksemplet bruker jeg LinearLayout, en ViewGroup som justerer alle barn i en bestemt retning.
En LinearLayout består av å åpne og lukke XML-koder:
< LinearLayout… >
I åpningsfanen må du definere XML-navneområdet, som er en standard som anbefales av W3C. Definere XML-navneområdet i Android er enkelt, bare skriv inn følgende kode og nettadresse som en del av åpningen LinearLayout-taggen:
xmlns: android = "http://schemas.android.com/apk/res/android"
Deretter angir du bredde- og høydeparametrene for rotelementet ditt. I de fleste tilfeller bruker du "fill_parent" -verdien for rotelementet, da dette instruerer det til å ta opp hele enhetens skjerm.
Skriv inn følgende XML for parameterne høyde / bredde:
android: layout_width = "fill_parent" android: layout_height = "fill_parent">
XML-en din bør nå se slik ut:
Det er på tide å legge til noe på det blanke lerretet! Skriv inn åpningskoden for avkrysningsruten. Fordi dette er et brukergrensesnitt, er det nødvendig med noen ekstra XML:
1) Identifiser varen din
Eclipse bruker et heltall-ID for å identifisere forskjellige UI-elementer i et tre. Dette bør refereres som en streng, ved hjelp av 'id' -attributtet og følgende syntaks:
android: id = "id @ + / navnet"
I dette eksemplet refererer vi til dette brukergrensesnittet som 'CheckBox:'
android: id = "id @ + / boksen"
2) Bredde / Høyde Parametre: Wrap_content
Igjen må du angi parametrene for høyde / bredde. Hvis du angir dette attributtet til 'wrap_content', vises det tilsvarende elementet stort nok til å legge til innholdsformatet. Vi kan bruke syntaksstrukturen for høyde / bredde fra tidligere, erstatte 'fill_parent' med 'wrap_content:'
android: layout_width = "wrap_content" android: layout_height = "wrap_content"
3) Sett inn teksten
Til slutt må du spesifisere teksten som skal vises ved siden av avmerkingsboksen. Vi merker av for å vise 'Ja':
android: text = "yes" />
XML-en din bør nå se slik ut:
Kjør koden din i Android-emulatoren for å se XML-en i handling!
I den andre delen av denne opplæringen ser vi på noe mer avansert XML for finjustering av brukergrensesnittet ditt. Vi oppretter en layout bestående av to knapper, og bruker deretter vektvektypen til å endre prosentdelen av layoutplassen som er tildelt hver, før de kortfattes dekker grunnleggende om strengressurser.
Det første trinnet er å skape barebenene i oppsettet ditt. Vi vil bruke LinearLayout-rotasjonselementet fra det forrige eksempelet, sammen med bredde / høydeparametrene og, selvfølgelig, XML-navneområdet:
For å opprette den første knappen legger du til "Knapp" -åpningstaggen og integer-ID-en ved hjelp av elementnavnet'-knappen1. '