In deze zelfstudie leer je de fundamenten van het bouwen van Android-interface-lay-outs met XML. Lees verder!
Wanneer u begint met het ontwikkelen van Android-apps met behulp van Eclipse en de ADT-plug-in, is de krachtige grafische lay-outeditor van Eclipse een geweldige plaats om visueel uw gebruikersinterface te ontwerpen. Echter, deze "wat je ziet is wat je krijgt" aanpak heeft zijn beperkingen, en op een gegeven moment moet je overschakelen naar XML.
Een van de belangrijkste voordelen van het verklaren van uw gebruikersinterface in XML is de mogelijkheid om de gebruikersinterface en het gedrag van uw app gescheiden te houden, waardoor u de vrijheid heeft om de presentatie van uw app aan te passen zonder de onderliggende functionaliteit te onderbreken.
In dit artikel laat ik je zien hoe je een eenvoudige XML-layout helemaal zelf kunt ontwerpen, inclusief het definiëren van het rootelement, het opgeven van hoogte- en breedteparameters en het toevoegen van enkele elementaire gebruikersinterface-elementen. Ten slotte zal ik deze basislay-out gebruiken om een aantal geavanceerde XML-opties te demonstreren, zoals het toewijzen van verschillende hoeveelheden ruimte aan verschillende objecten en aan de slag te gaan met tekenreeksen.
Notitie: In Android moeten XML-lay-outs worden opgeslagen in de map res / layout met de extensie .xml.
Ten eerste zullen we wennen aan XML door een zeer eenvoudige Android-gebruikersinterface te maken die de LinearLayout-weergavegroep gebruikt om een checkboxelement te behouden. Open het bestand res / layouts / activity_main.xml en laten we aan de slag gaan.
De gebruikersinterface moet een enkel basiselement bevatten dat fungeert als visuele container voor al uw andere items. Het rootelement kan een ViewGroup zijn (d.w.z. LinearLayout, ListView, GridView), een samenvoegelement of een weergave, maar het moet de XML-naamruimte bevatten. In dit voorbeeld gebruik ik LinearLayout, een ViewGroup die alle kinderen in een opgegeven richting uitlijnt.
Een LinearLayout bestaat uit het openen en sluiten van XML-tags:
< LinearLayout… >
Op het tabblad Opening moet u de XML-naamruimte definiëren, een standaard die wordt aanbevolen door de W3C. Het definiëren van de XML-naamruimte in Android is eenvoudig, voer eenvoudig de volgende code en URL in als onderdeel van de eerste LinearLayout-tag:
xmlns: android = "http://schemas.android.com/apk/res/android"
Geef vervolgens de parameters width en height op voor uw rootelement. In de meeste gevallen gebruikt u de waarde "fill_parent" voor het rootelement, omdat dit de opdracht geeft om het volledige scherm van het apparaat te gebruiken.
Voer de volgende XML in voor de hoogte / breedte parameters:
android: layout_width = "fill_parent" android: layout_height = "fill_parent">
Je XML zou er nu als volgt uit moeten zien:
Het is tijd om iets toe te voegen aan dat lege canvas! Voer de openingstag in voor uw selectievakje. Omdat dit een UI-element is, is enige aanvullende XML vereist:
1) Identificeer uw artikel
Eclipse gebruikt een integer ID om verschillende UI-elementen in een boom te identificeren. Hiernaar moet worden verwezen als een tekenreeks, met behulp van het kenmerk 'id' en de volgende syntaxis:
android: id = "@ + id / name"
In dit voorbeeld verwijzen we naar dit UI-element als 'CheckBox:'
android: id = "@ + id / CheckBox"
2) Breedte / Hoogte Parameters: wrap_content
Nogmaals, u moet de hoogte / breedte-parameters invoeren. Als u dit kenmerk instelt op 'wrap_content', wordt het bijbehorende item groot genoeg weergegeven om de inhoud te resizen. We kunnen de syntaxisstructuur height / width van vroeger hergebruiken en 'fill_parent' vervangen door 'wrap_content:'
android: layout_width = "wrap_content" android: layout_height = "wrap_content"
3) Stel uw tekst in
Ten slotte moet u de tekst opgeven die naast het selectievakje moet worden weergegeven. We zullen het selectievakje instellen om 'Ja' weer te geven:
android: text = "Ja" />
Je XML zou er nu als volgt uit moeten zien:
Voer uw code uit in de Android Emulator om uw XML in actie te zien!
In het tweede deel van deze zelfstudie bekijken we wat meer geavanceerde XML voor het afstemmen van uw gebruikersinterface. We maken een lay-out die bestaat uit twee knoppen en gebruiken dan het kenmerk 'gewicht' om het percentage lay-outruimte dat aan elk is toegewezen te wijzigen voordat de basisbegrippen van de tekenreeksbronnen kort worden behandeld..
De eerste stap is het maken van de barebones van uw lay-out. We zullen het LinearLayout-rootelement uit het vorige voorbeeld hergebruiken, samen met de parameters width / height en natuurlijk de XML-naamruimte:
Als u de eerste knop wilt maken, voegt u de openingstag 'Knop' toe en de integer-ID met de elementnaam 'knop 1'.