lightbulb_outline Please take our October 2018 developer survey. Start survey

Layout Linier

LinearLayout adalah sekelompok tampilan yang menyejajarkan semua anak dalam satu arah, secara vertikal atau horizontal. Anda bisa menetapkan arah layout dengan atribut android:orientation.

Semua anak LinearLayout akan ditumpuk satu sama lain, jadi daftar vertikal hanya akan memiliki satu anak per baris, seberapa pun lebarnya, dan daftar horizontal hanya akan setinggi satu baris (tinggi anak yang tertinggi, ditambah pengisi). LinearLayout akan mengikuti margin antara anak dan gravity (sejajar kanan, tengah, atau kiri) setiap anak.

Bobot Layout

LinearLayout juga mendukung penetapan bobot ke masing-masing anak dengan atribut android:layout_weight. Atribut ini menetapkan nilai "penting" ke sebuah tampilan dalam arti seberapa banyak ruang yang akan ditempatinya di layar. Nilai bobot yang lebih besar memungkinkannya diperluas untuk mengisi ruang yang tersisa di tampilan induk. Tampilan anak bisa menetapkan nilai bobot, kemudian ruang yang tersisa dalam kelompok tampilan diberikan ke anak dalam proporsi bobot yang dideklarasikan untuk mereka. Bobot default adalah nol.

Misalnya, jika ada tiga bidang teks dan dua di antaranya mendeklarasikan bobot 1, sementara yang lain tidak diberikan bobot, bidang teks ketiga yang tanpa bobot tidak akan membesar dan hanya akan menempati area yang diperlukan oleh materinya. Dua bidang lainnya akan diperluas secara seimbang untuk mengisi ruang yang tersisa setelah ketiga bidang diukur. Jika bidang ketiga kemudian diberikan bobot 2 (sebagai ganti 0), maka ia kini dideklarasikan lebih penting daripada kedua bidang lainnya, jadi ia mendapatkan setengah jumlah ruang yang tersisa, sedangkan dua yang pertama akan berbagi sisanya secara seimbang.

Contoh

<?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="right"
        android:text="@string/send" />
</LinearLayout>

Untuk detail tentang atribut yang tersedia pada setiap tampilan anak LinearLayout, lihat LinearLayout.LayoutParams.