Condividi tramite


Xamarin.Android RelativeLayout

RelativeLayout è un oggetto ViewGroup che visualizza figlio View elementi in posizioni relative. La posizione di un View oggetto può essere specificata in relazione agli elementi di pari livello (ad esempio a sinistra o al di sotto di un determinato elemento) o in posizioni relative all'oggetto RelativeLayout area (ad esempio allineata alla parte inferiore, a sinistra del centro).

Un RelativeLayout è un'utilità molto potente per la progettazione di un'interfaccia utente perché può eliminare s annidati ViewGroup. Se ci si trova usando diversi annidati LinearLayout gruppi, è possibile sostituirli con un singolo RelativeLayoutoggetto .

Avviare un nuovo progetto denominato HelloRelativeLayout.

Aprire il file Resources/Layout/Main.axml e inserire quanto segue:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/label"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Type here:"/>
    <EditText
        android:id="@+id/entry"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:drawable/editbox_background"
        android:layout_below="@id/label"/>
    <Button
        android:id="@+id/ok"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/entry"
        android:layout_alignParentRight="true"
        android:layout_marginLeft="10dip"
        android:text="OK" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/ok"
        android:layout_alignTop="@id/ok"
        android:text="Cancel" />
</RelativeLayout>

Si notino ognuno degli android:layout_* attributi, ad esempio layout_below, layout_alignParentRighte layout_toLeftOf. Quando si usa un RelativeLayoutoggetto , è possibile usare questi attributi per descrivere come posizionare ogni Viewoggetto . Ognuno di questi attributi definisce un tipo diverso di posizione relativa. Alcuni attributi usano l'ID risorsa di un elemento di pari View livello per definire la propria posizione relativa. Ad esempio, l'ultimo Button è definito in modo che si trova a sinistra e allineato all'inizio dell'oggetto View identificato dall'ID ok ( ovvero il precedente Button).

Tutti gli attributi di layout disponibili sono definiti in RelativeLayout.LayoutParams.

Assicurarsi di caricare questo layout nel OnCreate() Metodo:

protected override void OnCreate (Bundle savedInstanceState)
{
    base.OnCreate (savedInstanceState);
    SetContentView (Resource.Layout.Main);
}

Il SetContentView(int) metodo carica il file di layout per , Activityspecificato dall'ID risorsa , Resource.Layout.Main che fa riferimento al file di layout Resources/Layout/Main.axml .

Eseguire l'applicazione. Verrà visualizzato il layout seguente:

Screenshot of a relative layout with a TextView, EditText, and two buttons

Risorse

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.