Layout relativo Android

Android RelativeLayout consente di specificare il modo in cui le visualizzazioni figlio sono posizionate l'una rispetto all'altra. La posizione di ciascuna vista può essere specificata come relativa agli elementi di pari livello o relativa all'elemento padre.

Layout relativo

Attributi di RelativeLayout

Di seguito sono riportati gli attributi importanti specifici di RelativeLayout:

Sr.No. Attributo e descrizione
1

android:id

Questo è l'ID che identifica in modo univoco il layout.

2

android:gravity

Specifica come un oggetto deve posizionare il suo contenuto, su entrambi gli assi X e Y. I valori possibili sono top, bottom, left, right, center, center_vertical, center_horizontal ecc.

3

android:ignoreGravity

Questo indica quale vista non dovrebbe essere influenzata dalla gravità.

Usando RelativeLayout, puoi allineare due elementi in base al bordo destro o crearne uno sotto l'altro, centrato nello schermo, centrato a sinistra e così via. Per impostazione predefinita, tutte le viste figlio vengono disegnate in alto a sinistra del layout, quindi è necessario definire la posizione di ciascuna vista utilizzando le varie proprietà del layout disponibili daRelativeLayout.LayoutParams e alcuni degli attributi importanti sono riportati di seguito:

Sr.No. Attributo e descrizione
1

android:layout_above

Posiziona il bordo inferiore di questa vista sopra l'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome"

2

android:layout_alignBottom

Fa in modo che il bordo inferiore di questa vista corrisponda al bordo inferiore dell'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

3

android:layout_alignLeft

Fa in modo che il bordo sinistro di questa vista corrisponda al bordo sinistro dell'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

4

android:layout_alignParentBottom

Se true, fa sì che il bordo inferiore di questa vista corrisponda al bordo inferiore del genitore. Deve essere un valore booleano, "true" o "false".

5

android:layout_alignParentEnd

Se vero, fa sì che il bordo finale di questa vista corrisponda al bordo finale del genitore. Deve essere un valore booleano, "true" o "false".

6

android:layout_alignParentLeft

Se true, fa in modo che il bordo sinistro di questa vista corrisponda al bordo sinistro del genitore. Deve essere un valore booleano, "true" o "false".

7

android:layout_alignParentRight

Se true, fa in modo che il bordo destro di questa vista corrisponda al bordo destro del genitore. Deve essere un valore booleano, "true" o "false".

8

android:layout_alignParentStart

Se true, fa in modo che il bordo iniziale di questa vista corrisponda al bordo iniziale del genitore. Deve essere un valore booleano, "true" o "false".

9

android:layout_alignParentTop

Se true, fa sì che il bordo superiore di questa vista corrisponda al bordo superiore del genitore. Deve essere un valore booleano, "true" o "false".

10

android:layout_alignRight

Fa in modo che il bordo destro di questa vista corrisponda al bordo destro dell'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

11

android:layout_alignStart

Fa in modo che il bordo iniziale di questa vista corrisponda al bordo iniziale dell'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

12

android:layout_alignTop

Fa in modo che il bordo superiore di questa vista corrisponda al bordo superiore dell'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

13

android:layout_below

Posiziona il bordo superiore di questa vista sotto l'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

14

android:layout_centerHorizontal

Se è vero, centra questo bambino orizzontalmente nel suo genitore. Deve essere un valore booleano, "true" o "false".

15

android:layout_centerInParent

Se vero, centra questo bambino orizzontalmente e verticalmente all'interno del suo genitore. Deve essere un valore booleano, "true" o "false".

16

android:layout_centerVertical

Se è vero, centra questo bambino verticalmente all'interno del suo genitore. Deve essere un valore booleano, "true" o "false".

17

android:layout_toEndOf

Posiziona il bordo iniziale di questa vista alla fine dell'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

18

android:layout_toLeftOf

Posiziona il bordo destro di questa vista a sinistra dell'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

19

android:layout_toRightOf

Posiziona il bordo sinistro di questa vista a destra dell'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

20

android:layout_toStartOf

Posiziona il bordo finale di questa vista all'inizio dell'ID della vista di ancoraggio specificato e deve essere un riferimento a un'altra risorsa, nella forma "@ [+] [pacchetto:] tipo: nome".

Esempio

Questo esempio ti guiderà attraverso semplici passaggi per mostrare come creare la tua applicazione Android utilizzando Layout relativo. Segui i seguenti passaggi per modificare l'applicazione Android che abbiamo creato nel capitolo Hello World Example -

Passo Descrizione
1 Utilizzerai l'IDE di Android Studio per creare un'applicazione Android e denominarla come demo in un pacchetto com.example.demo come spiegato nel capitolo Hello World Example .
2 Modifica il contenuto predefinito del file res / layout / activity_main.xml per includere pochi widget nel layout relativo.
3 Definire le costanti richieste in res / valori / strings.xml di file
4 Esegui l'applicazione per avviare l'emulatore Android e verifica il risultato delle modifiche apportate nell'applicazione.

Di seguito è riportato il contenuto del file di attività principale modificato src/com.example.demo/MainActivity.java. Questo file può includere ciascuno dei metodi fondamentali del ciclo di vita.

package com.example.demo;

import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
   
}

Di seguito sarà il contenuto di res/layout/activity_main.xml file -

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:paddingLeft="16dp"
   android:paddingRight="16dp" >
   
   <EditText
      android:id="@+id/name"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:hint="@string/reminder" />
      
   <LinearLayout
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_alignParentStart="true"
      android:layout_below="@+id/name">
      
      <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="New Button"
         android:id="@+id/button" />
      
      <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="New Button"
         android:id="@+id/button2" />
      
   </LinearLayout>

</RelativeLayout>

Di seguito sarà il contenuto di res/values/strings.xml per definire due nuove costanti -

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="action_settings">Settings</string>
   <string name="reminder">Enter your name</string>
</resources>

Proviamo a eseguire il nostro file modificato Hello World!applicazione che abbiamo appena modificato. Presumo che tu abbia creato il tuoAVDdurante l'impostazione dell'ambiente. Per eseguire l'app da Android Studio, apri uno dei file di attività del progetto e fai clic sull'icona Esegui dalla barra degli strumenti. Android Studio installa l'app sul tuo AVD e la avvia e se tutto va bene con la configurazione e l'applicazione, verrà visualizzata la seguente finestra dell'emulatore: