LinearLayout
, tüm alt öğeleri tek bir yönde (dikey veya yatay olarak) hizalayan bir görünüm grubudur. Düzen yönünü android:orientation
özelliğiyle belirtebilirsiniz.
![Üç dikey dilime bölünmüş bir düzeni gösteren resim](https://developer.android.com/static/images/ui/linearlayout.png?authuser=7&hl=tr)
LinearLayout
.
LinearLayout
öğesinin tüm alt öğeleri üst üste yığılır. Yani dikey listede, ne kadar geniş olduklarına bakılmaksızın satır başına yalnızca bir alt öğe bulunur. Yatay bir liste yalnızca bir satır yüksekliğindedir ve en uzun alt öğenin yüksekliğiyle birlikte dolgudur. LinearLayout
, alt öğeler arasındaki kenar boşluklarına ve her bir alt öğenin yerçekimi (sağa, orta veya sola hizalanmasına) uyar.
Düzen ağırlığı
LinearLayout
, android:layout_weight
özelliğiyle her bir alt öğeye ağırlık atamayı da destekler. Bu özellik, bir görünüme ekranda ne kadar yer kaplayacağına bağlı olarak bir "önem" değeri atar. Daha büyük bir ağırlık değeri, üst görünümde kalan alanı
dolduracak şekilde genişletilmesini sağlar. Alt görünümler bir ağırlık değeri belirtebilir ve görünüm grubunda kalan alan, bildirilen ağırlıklarına göre alt çocuklara orantılı olarak atanır. Varsayılan ağırlık sıfırdır.
Eşit dağılım
Her alt yayıncının ekranda aynı miktarda alan kullandığı bir doğrusal düzen oluşturmak için her görünümün android:layout_height
değerini dikey düzende "0dp"
olarak, yatay düzende her görünümün android:layout_width
değerini "0dp"
olarak ayarlayın. Ardından her görünümün android:layout_weight
değerini "1"
olarak ayarlayın.
Eşit olmayan dağılım
Alt öğelerin ekranda farklı miktarlarda alan kullandığı doğrusal düzenler de oluşturabilirsiniz. Aşağıdaki örnekleri göz önünde bulundurun:
- Üç metin alanınızın olduğunu varsayalım: Ağırlık değeri 1 olan iki metin ve varsayılan ağırlık değeri 0 olan üçüncü alan. Ağırlık değeri 0 olan üçüncü metin alanı yalnızca içeriğinin gerektirdiği alanı kaplar. Ağırlık değeri 1 olan diğer iki metin alanı, üç alanın da içeriği ölçüldükten sonra kalan alanı doldurmak için eşit şekilde genişler.
- Bunun yerine, ikisinin ağırlık değeri 1 ve üçüncüsünün ağırlığı 2 olan üç metin alanınız varsa bu üç alanın da içeriğinden sonra kalan boşluk şu şekilde ayrılır: Ağırlık değeri 2 olan alanın yarısı ve ağırlık değeri 1 olan alanların yarısı arasında eşit olarak bölünür.
Aşağıdaki şekilde ve kod snippet'inde, düzen ağırlıklarının bir "mesaj gönderme" etkinliğinde nasıl çalışabileceği gösterilmektedir. Alıcı alanı, Konu satırı ve Gönder düğmesinin her biri yalnızca gereken yüksekliği doldurur. Mesaj alanı, etkinliğin geri kalanını kaplar.
![Dikey yönlü Doğrusal Layout'ta üç EditText'i ve bir düğmeyi gösteren resim](https://developer.android.com/static/images/ui/sample-linearlayout.png?authuser=7&hl=tr)
LinearLayout
düzeninde üç metin alanı ve bir düğme.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" > <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/to" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/subject" /> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="top" android:hint="@string/message" /> <Button android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="end" android:text="@string/send" /> </LinearLayout>
LinearLayout
öğesinin her alt görünümünde kullanılabilen özellikler hakkında ayrıntılı bilgi için LinearLayout.LayoutParams
sayfasını inceleyin.