Android’de, RelativeLayout, alt Görünüm örneklerinin birbirine göre (Alt Öğe A, Alt B’nin solundaki) veya ebeveyne göre (Üst öğenin üstüne hizalanmış) konumunu belirtmek için kullanılan bir ViewGroup’tur.
Aşağıda, android uygulamalarındaki göreceli yerleşimin resimli gösterimi yer almaktadır.

Android’de RelativeLayout, kullanıcı arayüzü tasarlamak için çok kullanışlıdır çünkü göreli düzeni kullanarak iç içe görünüm gruplarını ortadan kaldırabilir ve düzen hiyerarşimizi düz tutabiliriz, bu da uygulama performansını artırır.
RelativeLayout Konumlandırmalar
RelativeLayout’ta nesneleri birbirlerine veya ebeveyne göre konumlarını belirtmemiz gerekiyor. Alt görünümlerin konumunu belirlemediysek, varsayılan olarak tüm alt görünümler yerleşimin sol üst kısmına yerleştirilir.
Aşağıda, RelativeLayout’ta görüntülenebilen en kullanışlı düzen özelliklerinden bazıları verilmiştir.
Attribute | Açıklama |
---|---|
layout_alignParentTop | ‘true’ belirtilirse, görünümün üst kenarı ebeveynin üst kenarıyla eşleşir. |
layout_alignParentBottom | ‘true’ belirtilirse, görünümün alt kenarı üst öğenin alt kenarıyla eşleşir. |
layout_alignParentLeft | ‘true’ belirtilirse, görünümün sol kenarı üst öğenin sol kenarıyla eşleşir. |
layout_alignParentRight | ‘true’ belirtilirse, görünümün sağ kenarı ebeveynin sağ kenarıyla eşleşir. |
layout_centerInParent | ‘true’ belirtilirse, görünüm üst öğenin merkezine hizalanır. |
layout_centerHorizontal | ‘true’ belirtilirse, görünüm üst öğesi içinde yatay olarak ortalanır. |
layout_centerVertical | ‘true’ belirtilirse, görünüm üst öğesi içinde dikey olarak ortalanır. |
layout_above | Başka bir kardeş görünüm kimliğini kabul eder ve görünümü belirtilen görünüm kimliğinin üzerine yerleştirir. |
layout_below | Başka bir kardeş görünüm kimliğini kabul eder ve görünümü belirtilen görünüm kimliğinin altına yerleştirir. |
layout_toLeftOf | Başka bir kardeş görünüm kimliğini kabul eder ve görünümü belirtilen görünüm kimliğinin soluna yerleştirir. |
layout_toRightOf | Başka bir kardeş görünüm kimliğini kabul eder ve görünümü belirtilen görünüm kimliğinin sağına yerleştirir. |
layout_toStartOf | Başka bir kardeş görünüm kimliğini kabul eder ve görünümü belirtilen görünüm kimliğinin başlangıcına yerleştirir. |
layout_toEndOf | Başka bir kardeş görünüm kimliğini kabul eder ve görünümü belirtilen görünüm kimliğinin sonuna yerleştirir. |
Android RelativeLayout Örneği
Android uygulamasında farklı kontrollerle bir RelativeLayout oluşturma örneği aşağıdadır.
Android stüdyosunu kullanarak yeni bir android uygulaması oluşturun ve RelativeLayout olarak isimler verin. Android Studio’ da bir uygulama oluşturmanın farkında değilseniz, bu Android Hello World Uygulaması makalesine bakın.
Şimdi \res\layout yolundan activity_main.xml dosyamızı açarak aşağıdaki kodları yazalım.
activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <?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="10dp" android:paddingRight="10dp"> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:text="Button1" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:text="Button2" /> <Button android:id="@+id/btn3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:text="Button3" /> <Button android:id="@+id/btn4" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="Button4" /> <Button android:id="@+id/btn5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/btn2" android:layout_centerHorizontal="true" android:text="Button5" /> <Button android:id="@+id/btn6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/btn4" android:layout_centerHorizontal="true" android:text="Button6" /> <Button android:id="@+id/btn7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toEndOf="@+id/btn1" android:layout_toRightOf="@+id/btn1" android:layout_alignParentRight="true" android:text="Button7" /> </RelativeLayout> |
Layout oluşturmayı bitirdikten sonra, etkinliğimiz onCreate() geri çağırma yöntemimizden XML Layout kaynağını yüklememiz gerekiyor.
Bunun için MainActivity.java dosyamızda aşağıdaki kodların bulunması gerekiyor.
MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package com.example.relativelayout; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } |
Yukarıdaki kodu gözlemlerseniz, R.layout.layout_file_name biçiminde setContentView yöntemini kullanarak layoutumuzu çağırıyoruz. Burada xml dosya adımız activite_main.xml olduğundan activity_main dosya adını kullandık.
Genellikle, activity başlatılması sırasında gerekli düzeni elde etmek için android tarafından onCreate() metodu kullanılır.
Android RelativeLayout Örneğinin Çıktısı
Android sanal cihazı (AVD) kullanarak yukarıdaki örneği çalıştırdığımızda, aşağıda gösterildiği gibi bir sonuç elde edeceğiz.

RelativeLayout’u gereksinimlerimize göre android uygulamalarında bu şekilde kullanabiliriz.