Innehållsförteckning
A Relativ layout är en gruppvy som visar komponenterna i positioner i förhållande till en annan komponent. Positionen för varje komponent kan specificeras i förhållande till andra element, till exempel till vänster om en knapp eller under en viss textruta eller anpassad till botten, vänster eller i mitten.Vi börjar i självstudien Utveckla inbyggda applikationer för Android med Netbeans som förklarar hur man använder Linjär layoutI denna handledning kommer vi att se behållaren för att skapa gränssnitt i Android är den relativa layouten.
Det huvudsakliga kännetecknet för denna layout är att komponenterna i denna behållare kommer att lokalisera sin position i förhållande till de andra elementen. På detta sätt kan vi definiera att Knappkomponenten är placerad under textrutekomponenten och att den i sin tur är horisontellt inriktad i förhållande till etikettkomponenten.
Bland de egenskaper som hjälper oss att placera elementen gentemot andra är:
android: layout_above: det betyder att komponenten som har den här egenskapen kommer att ligga ovanför den komponent som vi anger.
Exempel:
Knappen kommer att placeras ovanför etikettelementet som anges android: layout_above = "@ id / title"
android: layout_alignLeft: Det betyder att komponenten som har den här egenskapen måste sammanfalla med den vänstra kanten av komponenten som vi anger. Om vi vill att det ska sammanfalla med den högra kanten kommer vi att använda android: layout_alignRight.
android: layout_toLeftOf: Det betyder att komponenten som har den här egenskapen kommer att placeras till vänster om den komponent som vi anger.
android: layout_toRightOf: Det betyder att komponenten som har den här egenskapen kommer att placeras till höger om den komponent som vi anger.
android: layout_bottom: Det betyder att komponenten som har den här egenskapen kommer att placeras under den komponent som vi anger.
Vi ska programmera ett enkelt exempel på en miniräknare i Android, i den här självstudien kommer vi att använda Netbeans och Android SDK som vi gjorde i självstudien Utveckla inbyggda applikationer för Android med Netbeans.
Vi kommer att skapa projektet LayoutRelativo
När projektet är skapat börjar vi med designen i layoutmappen, öppnar main.xml -filen och kopierar följande kod:
Sedan vi kommer att skriva funktionaliteten i Java i filen MainActivity.java
paketet com.Relativt; importera android.app.Activity; importera android.os.Bundle; importera android.widget. *; importera android.view. *; public class MainActivity utökar aktivitet {// Vi instansierar variabler och komponenter som vi ska använda // för beräkningar privat dubbelnummer, numberrob; privat EditText -värde, valueb; privat TextView -resultat; public void onCreate (Bundle savedInstanceState) {super.onCreate (saveInstanceState); // Vi startar programmet med huvudlayouten setContentView (R.layout.main); // Vi tilldelar varje komponent till en variabel this.valora = (EditText) findViewById (R.id.numeroa); this.valorb = (EditText) findViewById (R.id.numerob); this.result = (TextView) findViewById (R.id.result); } public void btSumar (View view) {// Lägg till funktion // Om båda värdena är större än noll konverteras det till ett decimaltal och läggs till if (this.value.getText (). toString (). length ( )> 0 && this.valorb.getText (). ToString (). Length ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText (). toString ()); this.result.setText (Double.toString ((this.numeroa + this.numerob))); }} public void btRestar (View view) {// Subtraktionsfunktion // Om båda värdena är större än noll, konverteras det till ett decimaltal och subtraheras if (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Length ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText (). toString ()); this.result.setText (Double.toString ((this.numeroa - this.numerob))); }} public void btMultiplicar (View view) {// Multiplicera funktion // Om båda värdena är större än noll konverteras det till ett decimaltal och multipliceras if (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Length ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText (). toString ()); this.result.setText (Double.toString ((this.numeroa * this.numerob))); }} public void btDivide (View view) {// Divide -funktion // Om båda värdena är större än noll, konverteras det till ett decimaltal och delas om (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Length ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText (). toString ()); if (this.numerob! = 0) {this.result.setText (Double.toString ((this.numeroa / this.numerob))); }}} public boolean onCreateOptionsMenu (Meny -meny) {// Skapa meny från mall eller layout getMenuInflater (). blåsa upp (R.meny.main, meny); återvända sant; }Vi kör programmet och när emulatorn är aktiverad ser vi följande skärm.
Den första textrutan accepterar endast siffror som innehåller 1 eller 5 som vi angav, vilket kan vara kombinationer av siffrorna i designspecifikationerna med egenskapen android: siffror = "12345"
Vi lägger också till en meny och undermeny i mappen Resurser Vi kommer att skapa en mapp som heter meny och inne i en xml -fil som heter main.xm som har menykonfigurationen.
I mappen värden måste vi deklarera namnet på menyn i filen strings.xml
Kalkylator - Relativ layoutkonfigurationVi kör programmet igen och tryck sedan på menyknappen och klicka på Miljö.
Vi har uppnått en fullt fungerande applikation, för att testa hur den fungerar om vi vrider mobilen och skärmen måste rymmas trycker vi på:
Ctrl + F12
Detta kommer att simulera vändningen av mobilen.Knapparna placeras av egenskaperna, till exempel för knappen Subtrahera vi placerar till höger om att lägga till och justeras med den övre kanten av knappen Lägg till.
android: layout_toRightOf = "@ id / add" android: layout_alignTop = "@ id / add"När det gäller den användbara knappen justerar vi den med avseende på den första knappen som ska läggas till och den sista knappen för att multiplicera.
android: layout_toRightOf = "@ id / multiplicera" android: layout_alignTop = "@ id / add"Sedan lägger vi till en knapp med en ikon, för detta laddar vi ner vilken ikon som helst från webben www.Icofinder.com. Vi kopierar ikonen i mappen Resurser / drawable-mdpi.
Vi lägger till designkoden nedan, vi går till layoutmappen, vi öppnar filen main.xml.
Huvudsyftet med relativa layouter, som vi sa ovan för designen är att använda så få kapslade layouter som möjligtI detta exempel på Kalkylator har vi använt en enda layout med alla dess komponenter. Detta gör att applikationen kan bli snabbare. Nesting med en annan layout saktar ner och sänker programmets prestanda.
A Layout Relativ hierarki vanligtvis Det kommer att använda mindre layout och ha en enklare hantering än en LinearLayout -hierarki. Fördelen jämfört med LinearLayout är att vi måste skapa en ny LinearLayout varje gång vi vill ändra orienteringen för en komponent eller skapa ytterligare vyer. Som ett resultat rekommenderas att du använder RelativeLayout först för alla layouter som har någon komplexitet.
Vad mer Linjär layout den är endast orienterad vertikalt eller horisontellt med avseende på en komponent medan Layout Relative har många fler alternativ. Om du gillade och serverade denna handledning, följ mig!Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng