RelativeLayout
, alt görüntülemeleri göreli olarak gösteren bir görünüm grubudur
gösterir. Her görünümün konumu, eşdüzey öğelere göre (ör.
solunda veya altında) ya da üst RelativeLayout
alanına göre konumlarda (ör. alta, sola veya ortaya hizalanır) gösterir.
Not: Daha iyi performans ve araç desteği için bunun yerine düzeninizi ConstraintLayout ile oluşturmanız gerekir.
RelativeLayout
, kullanıcı arayüzü tasarlamak için kullanılan çok güçlü bir yardımcı programdır
İç içe yerleştirilmiş görünüm gruplarını ortadan kaldırabilir ve düzen hiyerarşinizi düz tutabilir. Böylece,
bazı yolları da görmüştük. İç 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üntülemelerin
bir görünüm veya birbirine bağlama (kimlik ile belirtilir). Böylece iki öğeyi sağ kenarlıkla hizalayabilir.
ekranda ortalanmış, sola ortalanmış ve benzeri bir işlem yapabilirsiniz. Varsayılan olarak tüm alt
görünümler düzenin sol üst tarafına çizilir, bu nedenle her görünümün konumunu tanımlamanız gerekir
(RelativeLayout.LayoutParams
) konumunda bulabileceğiniz çeşitli düzen özelliklerini kullanarak.
RelativeLayout
görünümü için 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 konumu veya
görünümün yerleştirilmesi gereken düzende başka bir görünüme başvuruda bulunduğudur.
XML düzeninizde, düzendeki diğer görünümlere karşı bağımlılıklar herhangi bir sırada bildirilebilir. Örneğin, "view1" değerini belirtebilirsiniz. "view2" altında konumlandırılmalıdır "view2" değeri oynatılsa bile son hiyerarşide tanımlanmıştır. 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.