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
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.
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.
Ctrl + F12
Questo simulerà la rotazione del cellulare.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.
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