Počinjemo u vodiču Razvoj izvornih aplikacija za Android s Netbeansom koji objašnjava kako se koristi Linearni rasporedU ovom ćemo vodiču vidjeti spremnik za stvaranje sučelja u Androidu Relativni izgled.
Glavna karakteristika ovog izgleda je da će komponente koje se nalaze u ovom spremniku locirati svoj položaj u odnosu na ostale elemente. Na ovaj način možemo definirati da je Komponenta gumba nalazi se ispod komponente okvira za tekst i ona je zauzvrat vodoravno poravnana u odnosu na komponentu Label.
Među svojstvima koja nam pomažu pozicionirati elemente u odnosu na druge su:
android: layout_above: to znači da će komponenta koja ima ovo svojstvo biti smještena iznad komponente koju označavamo.
Primjer:
Gumb će biti postavljen iznad elementa naljepnice kako je naznačeno android: layout_above = "@ id / title"
android: layout_alignLijevo: To znači da se komponenta koja ima ovo svojstvo mora podudarati s lijevim rubom komponente koju označavamo. Ako želimo da se podudara s desnim rubom, upotrijebit ćemo android: layout_alignRight.
android: layout_toLeftOf: To znači da će komponenta koja ima ovo svojstvo biti smještena lijevo od komponente koju označimo.
android: layout_toRightOf: To znači da će komponenta koja ima ovo svojstvo biti pozicionirana desno od komponente koju označimo.
android: layout_bottom: To znači da će komponenta koja ima ovo svojstvo biti pozicionirana ispod komponente koju označavamo.
Programirat ćemo jednostavan primjer kalkulatora u Androidu. U ovom ćemo vodiču koristiti Netbeans i Android SDK kao što smo to učinili u vodiču Razvoj izvornih aplikacija za Android s Netbeansima.
Izradit ćemo projekt LayoutRelativo
Zatim funkcionalnost ćemo napisati u Javi u Datoteci MainActivity.java
paket com.Relative; uvoz android.app.Activity; uvoz android.os.Bundle; uvoz android.widget. *; uvoz android.view. *; public class MainActivity extends Activity {// Instanciramo varijable i komponente koje ćemo koristiti // za izračune private double number, numberrob; privatna vrijednost EditText, valueb; privatni rezultat TextView; public void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); // Pokrećemo aplikaciju s glavnim izgledom setContentView (R.layout.main); // Svaku komponentu dodjeljujemo varijabli 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) {// Dodaj funkciju // Ako su obje vrijednosti veće od nule, pretvara se u decimalni broj i dodaje 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) {// Funkcija oduzimanja // Ako su obje vrijednosti veće od nule, pretvara se u decimalni broj i oduzima 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) {// Multiply function // Ako su obje vrijednosti veće od nule, pretvara se u decimalni broj i množi 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 function // Ako su obje vrijednosti veće od nule, pretvara se u decimalni broj i dijeli 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 ()); if (this.numerob! = 0) {this.result.setText (Double.toString ((this.numeroa / this.numerob))); }}} javni boolean onCreateOptionsMenu (izbornik izbornika) {// Izradi izbornik iz predloška ili izgleda getMenuInflater (). inflate (R.menu.main, izbornik); return true; }Pokrećemo aplikaciju i kad se emulator aktivira vidjet ćemo sljedeći zaslon.
Također ćemo dodati izbornik i podizbornik, u mapu Resursi Stvorit ćemo mapu pod nazivom izbornik i unutar xml datoteke pod nazivom main.xm koja će imati konfiguraciju izbornika.
Unutar mape vrijednosti moramo deklarirati naziv izbornika u datoteci stringovi.xml
Kalkulator - konfiguracija relativnog izgledaPonovno pokrećemo aplikaciju, a zatim pritisnemo gumb izbornika i kliknemo na Postavljanje.
Ctrl + F12
To će simulirati okretanje mobilnog telefona.android: layout_toRightOf = "@ id / add" android: layout_alignTop = "@ id / add"U slučaju korisnog gumba, poravnavamo ga s obzirom na prvi gumb za dodavanje i zadnji gumb za množenje.
android: layout_toRightOf = "@ id / multiply" android: layout_alignTop = "@ id / add"Zatim ćemo dodati gumb s ikonom, za to preuzimamo bilo koju ikonu s weba www.Icofinder.com. Kopirat ćemo ikonu u mapu Resursi / drawable-mdpi.
A Izgled Relativna hijerarhija obično Koristit će manju količinu izgleda i jednostavnije rukovanje od hijerarhije LinearLayout. Prednost u odnosu na LinearLayout je ta što moramo stvoriti novi LinearLayout svaki put kad želimo promijeniti orijentaciju komponente ili stvoriti dodatne prikaze. Zbog toga se preporučuje da prvo koristite RelativeLayout za bilo koji izgled koji ima bilo kakvu složenost.
Što je više Linearni raspored orijentiran je samo okomito ili vodoravno u odnosu na komponentu dok Layout Relative ima mnogo više mogućnosti. Ako vam se svidio i poslužio ovaj vodič, slijedite me!Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod