I Layout

I layout sono elementi visivi di una attività in
cui le componenti grafiche sono posizionate
all’interno di una vista  contenuta nei
file XML della cartella res/layout.
Ecco i layout maggiormente utilizzati:

Linear Layout  permette di inserire i diversi elementi della pagina come Button, TextView, EditText,ecc… in righe orizzontali o verticali, dall’alto verso il basso e da sinistra verso destra.
Nell’ esempio come si vede gli elementi sono
inseriti in verticale con:
android:orientation=”vertical”>.
Per l’orientamento orizzontale inserire :
android:orientation=”horizontal”>

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:gravity=”center”
android:orientation=”vertical”>
   <Button
    android:text=”Hello”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
        android:id=”@+id/activity_mainButton”/>
   <TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Hello, world!”
android:textAppearance=”?android:attr/textAppearanceMedium”/>
   <EditText
   android:layout_width=”wrap_content”
   android:layout_height=”wrap_content”
   android:id=”@+id/activity_mainEditText”/>
  
</LinearLayout>

RelativeLayout
Questo layout è molto flessibile e viene utilizzato per personalizzare la vista che
può essere specificata come relativa agli elementi fratelli o rispetto al genitore:

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”>

<EditText
android:id=”@+id/text”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”/>

<LinearLayout
android:id=”@+id/linearLayout”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:layout_alignParentStart=”true”>

<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Button1″
android:id=”@+id/button1″ />

<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Button2″
android:id=”@+id/button2″ />

</LinearLayout>

</RelativeLayout>

Framelayout
FrameLayout è progettato per bloccare un’area sullo schermo per visualizzare un singolo elemento. Viene utilizzato per creare sovrapposizioni varie:
<FrameLayout xmlns:android=”http://schemas.android.com/apk/res/android&#8221;
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:orientation=”vertical”>

<TextView

android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:textSize=”80sp”
android:layout_gravity=”center_vertical”
android:text=”aaa” />

<TextView

android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_gravity=”center_vertical”
android:text=”bbb”
android:textSize=”50sp” />
</FrameLayout>

TableLayout
TableLayout posiziona i componenti in righe e colonne.Ecco uno schema progettato per la calcolatrice:
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”>

<TextView
android:id=”@+id/editText1″
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_margin=”10dp”
android:inputType=”numberDecimal”
android:textAlignment=”textEnd”/>

<TextView
android:id=”@+id/editText2″
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_margin=”10dp”
android:inputType=”numberDecimal”
android:textAlignment=”textEnd”/>

<TableRow
android:gravity=”center_horizontal”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_margin=”5dp”>

<Button
android:text=”C”
android:layout_width=”0dp”
     android:id=”@+id/buttonCanc”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

    <Button
android:text=”0″
android:id=”@+id/buttonZero”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

    <Button
android:text=”ײ”
android:id=”@+id/buttonP3″
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

     <Button
android:text=”÷”
android:id=”@+id/buttonDiviso”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

</TableRow>

<TableRow
android:gravity=”center_horizontal”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_margin=”5dp”>

<Button
android:text=”7″
android:id=”@+id/buttonSette”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

     <Button
android:text=”8″
android:id=”@+id/buttonOtto”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

      <Button
android:text=”9″
android:id=”@+id/buttonNove”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

      <Button
android:text=”×”
android:id=”@+id/buttonPer”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

     </TableRow>

<TableRow
android:gravity=”center_horizontal”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_margin=”5dp”>

<Button
android:text=”4″
android:id=”@+id/buttonQuattro”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

      <Button
android:text=”5″
android:id=”@+id/buttonCinque”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

    <Button
android:text=”6″
android:id=”@+id/buttonSei”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

      <Button
android:text=”-“
android:id=”@+id/buttonMeno”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

</TableRow>

<TableRow
android:gravity=”center_horizontal”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_margin=”5dp”>

<Button
android:text=”1″
android:id=”@+id/buttonUno”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

      <Button
android:text=”2″
android:id=”@+id/buttonDue”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

      <Button
android:text=”3″
android:id=”@+id/buttonTre”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

      <Button
android:text=”+”
android:id=”@+id/buttonPiu”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

</TableRow>

<TableRow
android:gravity=”center_horizontal”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_margin=”5dp”>

<Button
android:text=”.”
android:id=”@+id/buttonVirgola”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

     <Button
android:text=”=”
android:id=”@+id/buttonUguale”
android:layout_width=”0dp”
android:layout_height=”wrap_content”
android:layout_margin=”3dp”
android:layout_gravity=”center_horizontal”
android:layout_weight=”1″/>

</TableRow>

</LinearLayout>