Göreli Düzen

Compose yöntemini deneyin
Jetpack Compose, Android için önerilen kullanıcı arayüzü araç setidir. Compose'da düzenlerle nasıl çalışacağınızı öğrenin.

RelativeLayout, alt görünümleri göreceli konumlarda gösteren bir görünüm grubudur. Her görünümün konumu, kardeş öğelere (ör. başka bir görünümün solunda veya altında) göre ya da üst RelativeLayout alanına göre (ör. alta, sola veya ortaya hizalanmış) belirtilebilir.

Not: Daha iyi performans ve araç desteği için düzeninizi ConstraintLayout ile oluşturmalısınız.

RelativeLayout, iç içe yerleştirilmiş görünüm gruplarını ortadan kaldırabildiği ve düzen hiyerarşinizi düz tutabildiği için kullanıcı arayüzü tasarlamada çok güçlü bir yardımcı programdır. Bu sayede performans artar. İç içe yerleştirilmiş birkaç LinearLayout grubu kullandığınızı fark ederseniz bunları tek bir RelativeLayout ile değiştirebilirsiniz.

Görünümleri Konumlandırma

RelativeLayout, alt görünümlerin ebeveyn görünümüne veya birbirlerine göre konumlarını (kimlikle belirtilir) belirlemelerine olanak tanır. Böylece iki öğeyi sağ kenarlığa göre hizalayabilir veya birini diğerinin altına, ekranda ortalanmış, sola ortalanmış vb. şekilde yerleştirebilirsiniz. Varsayılan olarak tüm alt görünümler düzenin sol üst kısmında çizilir. Bu nedenle, RelativeLayout.LayoutParams içinde bulunan çeşitli düzen özelliklerini kullanarak her görünümün konumunu tanımlamanız gerekir.

RelativeLayout içindeki görünümlerde kullanılabilen birçok düzen özelliğinden bazıları şunlardır:

android:layout_alignParentTop
If "true", bu görünümün üst kenarını üst öğenin üst kenarıyla eşleştirir.
android:layout_centerVertical
If "true", bu alt öğeyi üst öğesi içinde dikey olarak ortalar.
android:layout_below
Bu görünümün üst kenarını, kaynak kimliğiyle belirtilen görünümün altına yerleştirir.
android:layout_toRightOf
Bu görünümün sol kenarını, kaynak kimliğiyle belirtilen görünümün sağında konumlandırır.

Bunlar yalnızca birkaç örnektir. Tüm düzen özellikleri RelativeLayout.LayoutParams adresinde belgelenmiştir.

Her düzen özelliğinin değeri, üst öğeye göre bir düzen konumunu etkinleştirmek için kullanılan bir boole değeri veya görünümün konumlandırılması gereken düzendeki başka bir görünüme referans veren bir kimliktir.RelativeLayout

XML düzeninizde, düzendeki diğer görünümlere yönelik bağımlılıklar herhangi bir sırada bildirilebilir. Örneğin, "view2" hiyerarşide bildirilen son görünüm olsa bile "view1"in "view2"nin altında konumlandırılacağını belirtebilirsiniz. Aşağıdaki örnekte böyle bir senaryo gösterilmektedir.

Örnek

Her bir görünümün göreli konumunu kontrol eden özelliklerin her biri vurgulanır.

<?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"
    android:paddingLeft="16dp"
    android:paddingRight="16dp" >
    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/reminder" />
    <Spinner
        android:id="@+id/dates"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/times" />
    <Spinner
        android:id="@id/times"
        android:layout_width="96dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:layout_alignParentRight="true" />
    <Button
        android:layout_width="96dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/times"
        android:layout_alignParentRight="true"
        android:text="@string/done" />
</RelativeLayout>

RelativeLayout öğesinin her bir çocuk ekranında kullanılabilen tüm düzen özellikleri hakkında ayrıntılı bilgi için RelativeLayout.LayoutParams sayfasına bakın.