Göreli Düzen

Oluşturma yöntemini deneyin
Jetpack Compose, Android için önerilen kullanıcı arayüzü araç setidir. Compose'da düzenlerle çalışma hakkında bilgi edinin.

RelativeLayout, alt görüntülemeleri göreceli konumlarda gösteren bir görüntüleme grubudur. Her görünümün konumu, kardeş öğelere göre (başka bir görünümün soluna veya altına göre) ya da üst RelativeLayout alanına göre konumlarda (alta, sola veya ortaya hizalı) 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 geçmiş görünüm gruplarını ortadan kaldırabileceği ve düzen hiyerarşinizi düz tutarak performansı yükseltebileceği için kullanıcı arayüzü tasarlamak için çok güçlü bir yardımcı programdır. İç içe yerleştirilmiş birkaç LinearLayout grubu kullanıyorsanız bunları tek bir RelativeLayout ile değiştirebilirsiniz.

Görünümleri Konumlandırma

RelativeLayout, alt görünümlerin ana görünüme veya birbirleriyle (kimlikle belirtilir) göre konumlarını belirtmesine olanak tanır. İki öğeyi sağ kenarlıkla hizalayabilir veya bir öğeyi diğerinin altında, ekranda ortalanmış, sola ortalanmış şekilde yapabilirsiniz. Varsayılan olarak, tüm alt görünümler düzenin sol üst tarafına çizilmiştir. Bu yüzden, her görünümün konumunu RelativeLayout.LayoutParams içinde bulunan çeşitli düzen özelliklerini kullanarak tanımlamanız gerekir.

Bir RelativeLayout içinde görüntülenebilen birçok düzen özelliğinden bazıları şunlardır:

android:layout_alignParentTop
"true" ise 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 etiketinin içinde dikey olarak ortalanır.
android:layout_below
Bu görünümün üst kenarını, bir 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ı, bir 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 belgelenmiştir.

Her düzen özelliğinin değeri, üst RelativeLayout öğesine göre bir düzen konumunu etkinleştirmek için bir boole veya görünümün yerleştirilmesi gereken düzendeki başka bir görünüme başvuruda bulunan 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 tanımlanan son görünüm olsa bile "view1" değerinin "view2"nin altında konumlandırılacağını bildirebilirsiniz. Aşağıdaki örnekte böyle bir senaryo gösterilmektedir.

Örnek

Her görünümün göreli konumunu kontrol eden özniteliklerin 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 alt görünümünde kullanılabilen tüm düzen özellikleri hakkında ayrıntılar için RelativeLayout.LayoutParams bölümüne bakın.