Aspect relativ - Dezvoltare de aplicații native pentru Android cu Netbeans

A Aspect relativ este o vedere de grup care arată componentele în poziții față de o altă componentă. Poziția fiecărei componente poate fi specificată în raport cu alte elemente, cum ar fi în stânga unui buton sau sub o anumită casetă de text sau aliniată la partea de jos, la stânga sau la centru.
Începem în tutorial Dezvoltarea de aplicații native pentru Android cu Netbeans care explică cum să utilizați Aspect liniarÎn acest tutorial vom vedea că containerul pentru a crea interfețe în Android este aspectul relativ.
Principala caracteristică a acestui aspect este că componentele care se află în interiorul acestui container își vor localiza poziția în raport cu celelalte elemente. În acest fel, putem defini că Componenta buton este situată sub componenta casetei de text și că aceasta la rândul său este aliniată orizontal cu privire la componenta Etichetă.
Printre proprietățile care ne ajută să poziționăm elementele față de alții se numără:
android: layout_above: înseamnă că componenta care are această proprietate va fi situată deasupra componentei pe care o indicăm.
Exemplu:
 
Butonul va fi poziționat deasupra elementului de etichetă așa cum este indicat android: layout_above = "@ id / title"
android: layout_alignLeft: Înseamnă că componenta care are această proprietate trebuie să coincidă cu marginea stângă a componentei pe care o indicăm. Dacă vrem să coincidă cu marginea din dreapta, vom folosi android: layout_alignRight.
android: layout_toLeftOf: Înseamnă că componenta care are această proprietate va fi localizată în stânga componentei pe care o indicăm.
android: layout_toRightOf: Înseamnă că componenta care are această proprietate va fi poziționată în dreapta componentei pe care o indicăm.
android: layout_bottom: Înseamnă că componenta care are această proprietate va fi poziționată sub componenta pe care o indicăm.
Vom programa un exemplu simplu de calculator în Android, în acest tutorial vom folosi Netbeans și Android SDK așa cum am făcut în tutorial Dezvoltarea aplicațiilor native pentru Android cu Netbeans.

Vom crea proiectul LayoutRelativo


Odată ce proiectul este creat, vom începe cu designul în folderul de aspect, vom deschide fișierul main.xml și vom copia următorul cod:
 
Apoi vom scrie funcționalitatea în Java în fișier MainActivity.java
 pachet com.Relativ; import android.app.Activity; import android.os.Bundle; import android.widget. *; import android.view. *; public class MainActivity extinde Activitatea {// Instanciem variabile și componente pe care le vom folosi // pentru calcule private double number, numberrob; valoare EditText privat, valoareb; rezultat privat TextView; public void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); // Începem aplicația cu aspectul principal setContentView (R.layout.main); // Atribuim fiecare componentă unei variabile this.valora = (EditText) findViewById (R.id.numeroa); this.valorb = (EditText) findViewById (R.id.numerob); this.result = (TextView) findViewById (R.id.result); } public void btSumar (Vizualizare vizualizare) {// Adăugare funcție // Dacă ambele valori sunt mai mari decât zero, este convertită la un număr zecimal și adăugată 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 (Vizualizare vizualizare) {// Funcția de scădere // Dacă ambele valori sunt mai mari decât zero, este convertită într-un număr zecimal și scăzută dacă (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Lungime ()> 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 (Vizualizare vizualizare) {// Funcție de multiplicare // Dacă ambele valori sunt mai mari decât zero, acesta este convertit într-un număr zecimal și înmulțit dacă (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Lungime ()> 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 (Vizualizare vizualizare) {// Funcția Divide // Dacă ambele valori sunt mai mari decât zero, acesta este convertit la un număr zecimal și împărțit dacă (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Lungime ()> 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 (Menu menu) {// Create menu from template or layout getMenuInflater (). inflate (R.menu.main, menu); întoarce-te adevărat; }
Rulăm aplicația și când emulatorul este activat, vom vedea următorul ecran.

Prima casetă de text acceptă numai numere care conțin 1 sau 5 așa cum am indicat, care pot fi combinații ale cifrelor din specificațiile de proiectare cu proprietatea android: cifre = "12345"
Vom adăuga, de asemenea, un meniu și un submeniu, în dosar Resurse Vom crea un folder numit meniu și în interiorul unui fișier XML numit main.xm care va avea configurația meniului.
 
În folderul de valori trebuie să declarăm numele meniului din fișier strings.xml
 Calculator - Configurare relativă a aspectului 
Rulăm aplicația din nou și apoi apăsăm butonul meniu și facem clic pe Setare.

Am realizat o aplicație complet funcțională, pentru a testa cum funcționează dacă rotim mobilul și ecranul trebuie să fie găzduit, apăsăm:

Ctrl + F12

Acest lucru va simula întoarcerea telefonului mobil.

Butoanele sunt poziționate de proprietăți, de exemplu pentru buton Scădea ne poziționăm în dreapta adăugării și aliniat cu marginea superioară a butonului de adăugare.
 android: layout_toRightOf = "@ id / add" android: layout_alignTop = "@ id / add"
În cazul butonului util, îl aliniem în raport cu primul buton de adăugat și cu ultimul buton de multiplicat.
 android: layout_toRightOf = "@ id / multiply" android: layout_alignTop = "@ id / add"
Apoi vom adăuga un buton cu o pictogramă, pentru aceasta descărcăm orice pictogramă de pe web www.Icofinder.com. Vom copia pictograma din folderul Resurse / drawable-mdpi.

Adăugăm codul de proiectare mai jos, mergem în folderul de aspect, deschidem fișierul main.xml.
 

Scopul principal al aspectelor relative, așa cum am spus mai sus pentru proiectare este să folosiți cât mai puține aspecte imbricateÎn acest exemplu de Calculator am folosit un singur aspect cu toate componentele sale. Acest lucru va permite aplicației să fie mai rapidă. Cuibarea cu un aspect diferit încetinește și scade performanța aplicației.
A Aspect Ierarhie relativă obișnuit Acesta va utiliza o cantitate mai mică de aspect și va avea o manevrare mai simplă decât o ierarhie LinearLayout. Avantajul față de LinearLayout este că trebuie să creăm un nou LinearLayout de fiecare dată când dorim să schimbăm orientarea unei componente sau să creăm vizualizări suplimentare. Ca urmare, se recomandă să utilizați mai întâi RelativeLayout pentru orice aspect care are o complexitate.
Mai mult LinearLayout este orientat numai vertical sau orizontal în raport cu o componentă, în timp ce Layout Relative are multe alte opțiuni. Dacă ți-a plăcut și ai servit acest tutorial, urmează-mă!V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave