Algo and Math

Android Studio: Relative Layout, posizionare i Widget, editText e Button

ViewGroup è anche una View

View e ViewGroup sono due classi. Tutti ereditano da queste 2 classi.

Una risorsa Layout specifica in modo dichiarativo con TAG XML l’aspetto di un elemento grafico.

Cartella di progetto: res/layout/*xml

Sono file XML che si trovano nella cartella RES. Contiene Risorse, non è codice. Non vengono inglobati. Vengono creati da Android Studio, dei Meta Dati.

Un’Actiity → potrebbe avere diversi Layout (Verticale ed Orizzontale)

Per far riferimento agli oggetti, ci basta chiamare R

R è una Wrapper.

E’ quel Wrapper che ci permette di far riferimento ad oggetti di tipo risorse.

Gestire i cambi di configurazione è bene avere 2 tipi diversi di Layout. Vengono caricati a seconda del diverso cambio di configurazione (Verticale e Orizzontale).

Se ci sono più risorse o più Layout disponibili, O.S. Android sceglie il più adeguato.

Adattare i qualificatori è un gran vantaggio. Caricare i diversi formati è un gran vantaggio.

Alta Risoluzione – Bassa Risoluzione

Inflate: leggere il file XML e poi trasformarlo negli oggetti sull’interfaccia.

Constraint Layout: è quello più semplice. “Hello World”. Posizione gli elementi in un modo flessibile. E’ un ViewGroup. E’ il Layout più semplici. Non mette tanti limiti. Permette tanta libertà.

- posizionamento – margini – posizionamento circolare

- permettere dei criteri di visibilità

Layout: ConstraintLayout e LinearLayout

LinearLayout. Un layout lineare, imposta i figli in una singola riga, orizzontale o verticale, agendo sull’attributo android:layout_orientation

La View è organizzata secondo un Layout Lineare verticale che contiene altri 2.

LinearLayout estende il ViewGroup. Si possono specificare “Gravity” e “Weight”, cioè il peso.

Relative Layout

Le View figlie sono posizione in base al posizionamento tra di Loro e rispetto alla View Genitore.

Posiziono l’EditText nel RelativeLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="horizontal"
tools:context=".MainActivity2" >

e poi:

<EditText
android:id="@+id/editTextN"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/editTextN"
android:text="Button" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/editTextN"
android:text="Button" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/button"
android:text="Button" />

<EditText
android:id="@+id/editTextN"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/editTextN"
android:text="OK" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/button"
android:text="Cancella" />

Exit mobile version