Sommario
UN Layout relativo è una vista di gruppo che mostra i componenti nelle posizioni relative a un altro componente. La posizione di ciascun componente può essere specificata rispetto ad altri elementi, ad esempio a sinistra di un pulsante o sotto una determinata casella di testo o allineata in basso, a sinistra o al centro.Iniziamo nel tutorial Sviluppo di applicazioni native per Android con Netbeans spiegando come usare il Layout lineareIn questo tutorial vedremo il contenitore per creare interfacce in Android è il Relative Layout.
La caratteristica principale di questo layout è che i componenti che si trovano all'interno di questo contenitore localizzeranno la loro posizione rispetto agli altri elementi. In questo modo, possiamo definire che Il componente Pulsante si trova sotto il componente Casella di testo e questo a sua volta è allineato orizzontalmente rispetto al componente Etichetta.
Tra le proprietà che ci aiutano a posizionare gli elementi rispetto agli altri ci sono:
android: layout_above: significa che il componente che ha questa proprietà si troverà sopra il componente che indichiamo.
Esempio:
Il pulsante verrà posizionato sopra l'elemento etichetta come indicato android: layout_above = "@ id/titolo"
android: layout_alignLeft: Significa che il componente che ha questa proprietà deve coincidere con il bordo sinistro del componente che indichiamo. Se vogliamo che coincida con il bordo destro useremo Android: layout_alignRight.
android: layout_toLeftOf: Significa che il componente che ha questa proprietà si troverà a sinistra del componente che indichiamo.
android: layout_toRightOf: Significa che il componente che ha questa proprietà sarà posizionato alla destra del componente che indichiamo.
android: layout_bottom: Significa che il componente che ha questa proprietà sarà posizionato al di sotto del componente che indichiamo.
Programmeremo un semplice esempio di calcolatrice in Android, in questo tutorial utilizzeremo Netbeans e Android SDK come abbiamo fatto nel tutorial Sviluppo di applicazioni native per Android con Netbeans.
Creeremo il progetto LayoutRelativo
Una volta creato il progetto, inizieremo con il disegno nella cartella layout, apriremo il file main.xml e copieremo il seguente codice:
Quindi scriveremo la funzionalità in Java nel file MainActivity.java
pacchetto com.Relativo; import android.app.Activity; import android.os.Bundle; import android.widget.*; import android.view.*; public class MainActivity estende l'attività {// Istanziamo variabili e componenti che useremo // per i calcoli private double number, numberrob; valore EditText privato, valoreb; risultato TextView privato; public void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); // Avviamo l'applicazione con il layout principale setContentView (R.layout.main); // Assegniamo ogni componente a una 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 (View view) {// Add function // Se entrambi i valori sono maggiori di zero, viene convertito in un numero decimale e aggiunto 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) {// Subtract function // Se entrambi i valori sono maggiori di zero, viene convertito in un numero decimale e sottratto se (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) {// Moltiply function // Se entrambi i valori sono maggiori di zero, viene convertito in un numero decimale e moltiplicato se (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 // Se entrambi i valori sono maggiori di zero, viene convertito in un numero decimale e diviso 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))); }}} public boolean onCreateOptionsMenu (menu Menu) {// Crea menu da modello o layout getMenuInflater ().inflate (R.menu.main, menu); restituire vero; }Lanciamo l'applicazione e all'attivazione dell'emulatore vedremo la seguente schermata.
La prima casella di testo accetta solo numeri che contengono 1 o 5 come abbiamo indicato, che possono essere combinazioni delle cifre nelle specifiche di progettazione con la proprietà Android: cifre = "12345"
Aggiungeremo anche un menu e un sottomenu, nella cartella risorse Creeremo una cartella chiamata menu e all'interno un file xml chiamato main.xm che avrà la configurazione del menu.
All'interno della cartella dei valori dobbiamo dichiarare il nome del menu nel file stringhe.xml
Calcolatrice - Configurazione layout relativoEseguiamo nuovamente l'applicazione, quindi premiamo il pulsante del menu e facciamo clic su Ambientazione.
Abbiamo realizzato un'applicazione completamente funzionante, per testare come funziona se giriamo il cellulare e lo schermo deve essere sistemato premiamo:
Ctrl + F12
Questo simulerà la rotazione del cellulare.I pulsanti sono posizionati dalle proprietà, ad esempio per il pulsante Sottrarre posizioniamo a destra dell'aggiunta e allineato con il bordo superiore del pulsante aggiungi.
android: layout_toRightOf = "@ id / aggiungi" android: layout_alignTop = "@ id / aggiungi"Nel caso del pulsante utile, lo allineiamo rispetto al primo pulsante da sommare e all'ultimo pulsante da moltiplicare.
android: layout_toRightOf = "@ id / moltiplica" android: layout_alignTop = "@ id / aggiungi"Quindi aggiungeremo un pulsante con un'icona, per questo scarichiamo qualsiasi icona dal web www.Icofinder.com. Copiamo l'icona nella cartella Risorse / mdpi disegnabile.
Aggiungiamo il codice di progettazione di seguito andiamo nella cartella del layout, apriamo il file main.xml.
Lo scopo principale dei layout relativi, come abbiamo detto sopra per il design è usare il minor numero possibile di layout nidificatiIn questo esempio di Calcolatrice abbiamo utilizzato un unico layout con tutti i suoi componenti. Ciò consentirà all'applicazione di essere più veloce. L'annidamento con un layout diverso rallenta e riduce le prestazioni dell'applicazione.
UN Layout Gerarchia relativa di solito Utilizzerà una quantità inferiore di layout e avrà una gestione più semplice rispetto a una gerarchia LinearLayout. Il vantaggio rispetto a LinearLayout è che dobbiamo creare un nuovo LinearLayout ogni volta che vogliamo cambiare l'orientamento di un componente o creare viste aggiuntive. Di conseguenza, si consiglia di utilizzare prima RelativeLayout per qualsiasi layout di complessità.
Cosa c'è di più Layout lineare è orientato solo verticalmente o orizzontalmente rispetto a un componente mentre Layout Relative ha molte più opzioni. Se ti è piaciuto e ti è servito questo tutorial, seguimi!Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo