Algo and Math

Android Studio: Relative Layout e Frame Layout, Table Layout

<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context=".MainActivity3">

<EditText
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/usernameLabel"
android:text="Name" />

<TextView
android:id="@+id/usernameLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/username"
android:text="Nome:" />

<EditText
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/username"
android:layout_below="@id/username"

android:layout_alignParentRight="true"
android:text="Password"
android:ems="10"
android:inputType="textPassword" />

<TextView
android:id="@+id/passwordLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/password"
android:text="password" />
</RelativeLayout>

 

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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"
tools:context=".MainActivity5">

<LinearLayout
android:id="@+id/bluFrame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<Button
android:id="@+id/greenButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
</LinearLayout>

<LinearLayout
android:id="@+id/greenFrame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<Button
android:id="@+id/bluButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
</LinearLayout>
</FrameLayout>

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.

Table Layout

Le View Figlie sono organizzate in Righe e Colonne.

Avremo una Matrice

FrameLayout

E’ progettato per bloccare un’area sullo schermo e visualizzare un singolo elemento.

Permette di creare dei Frame, delle sequenze.

Exit mobile version