Göreli Düzen

"Oluştur" 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 öğeleri göreli konumlarda gösteren bir görünüm grubudur. Her görünümün konumu, eşdüzey öğelere göre (ör. başka bir görünümün solunda veya altında) ya da üst RelativeLayout alanına göre konumlarda (ör. alta, sola veya ortaya hizalanır) belirtilebilir.

Not: Daha iyi performans ve araç desteği için bunun yerine düzeninizi ConstraintLayout ile oluşturmanız gerekir.

RelativeLayout, iç içe yerleştirilmiş görünüm gruplarını ortadan kaldırabileceği ve düzen hiyerarşinizi düz tutabileceği için kullanıcı arayüzü tasarlamak için çok güçlü bir yardımcı programdır. Bu da performansı artırır. Kendinizi iç içe geçmiş birden fazla LinearLayout grubu kullanıyorsanız bunları tek bir RelativeLayout ile değiştirebilirsiniz.

Görünümleri Konumlandırma

RelativeLayout, alt görüntülemelerin üst görünüme veya birbirine göre (kimlik ile belirtilir) konumlarını belirtmesine olanak tanır. Böylece iki öğeyi sağ kenarlıkla hizalayabilir veya bir öğeyi ekranın ortasında, sol ortada vb. olacak şekilde birbirinin altında yapabilirsiniz. Varsayılan olarak, tüm alt görünümler düzenin sol üst tarafına çizilir. Dolayısıyla, RelativeLayout.LayoutParams ürününde kullanılabilen çeşitli düzen özelliklerini kullanarak her bir 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
"true" değeri, bu görünümün üst kenarının üst kenarın üst kenarıyla eşleşmesini sağlar.
android:layout_centerVertical
"true" ise bu alt öğe, üst öğesi içinde dikey olarak ortalanır.
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ğına yerleştirir.

Bunlar yalnızca birkaç örnektir. Tüm düzen özellikleri, RelativeLayout.LayoutParams adresinde açıklanmaktadır.

Her düzen özelliğinin değeri, üst RelativeLayout öğesine göre bir düzen konumunu etkinleştirecek bir boole değeri veya görünümün yerleştirilmesi gereken düzende başka bir görünüme referans veren bir kimliktir.

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

Örnek

Her 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>

Her bir RelativeLayout alt görünümünde kullanılabilen tüm düzen özellikleri hakkında ayrıntılar için RelativeLayout.LayoutParams sayfasına bakın.