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.
![](https://developer.android.com/static/images/ui/relativelayout.png?authuser=7&hl=tr)
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.
![](https://developer.android.com/static/images/ui/sample-relativelayout.png?authuser=7&hl=tr)
<?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.