INTRODUCTION
LinearLayout termasuk kategori viewGroup yang didalamnya bisa memuat view atau layout lain.
LinearLayout mempunyai beberapa parameter dan properties untuk mengatur ukuran dan orientasi. Perhatikan tabel dibawah ini:
Parameter | Posisi | Deskripsi |
---|---|---|
Gravity | Child | Untuk mengatur posisi layout apakah sebelah kiri, kanan, atas atau lainnya di dalam layout parent. |
Padding | Parent | Mengatur jarak setiap sisi child. Jarak dihitung dalam satuan px atau dip. |
WeightSum | Parent |
Membagi layout ke beberapa bagian secara merata antar child, misal WeightSum="4" dan didalamnya ada 4 child maka otomatis setiap child akan mengambil space sebesar 1 (25%). |
Orientation | Parent | Mengatur orientasi, horisontal dan vertikal. |
Margin | Child | Mengatur jarak jauh dari parent disetiap sisi. Jarak dihitung dalam satuan px atau dip. |
Weight | Child | Mengatur pengambilan porsi space dari WeightSum. Misal, jika layout parent mempunyai WeightSum="3" dan ada dua child dengan rincian: child-1: layout_weight = "1", child-2: layout_weight = "2", maka : child1 akan mengambil space sebesar 1(30.3%) dan child2 mengambil space sebesar 2(66.6%). |
Visibility | Parent / Child | Menentukan aktif atau tidaknya satu View atau layout ketika aplikasi dijalankan. |
FitSystemWindows | Parent | Menempatkan parent layout dibawah Toolbar/Actionbar. Ini digunakan pada kasus jika keduanya bertumpuk. |
EXAMPLE
Buat satu layout di folder layout, beri nama apa saja, misal: test_linear.xml
copy code dibawah ini:
<?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:gravity="center"
android:orientation="vertical"
android:weightSum="4" >
<!-- android:orientation="vertical" : mengatur object child tersusun secara vertical -->
<!-- android:weightSum="4" : membagi layout menjadi 4 bagian @25% -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/hello_world" />
<!-- android:layout_weight="1" : mengambil space sebesar 1 dari 4 (25%); -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/hello_world" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/hello_world" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/hello_world" />
</LinearLayout>
Hasilnya :
Sekarang ganti orientasinya
android:orientation="vertical"
jadi
android:orientation="horizontal"
Hasilnya : Contoh nested LinearLayout
Perhatikan code xml dibawah ini :
<?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:gravity="center"
android:orientation="vertical"
android:weightSum="3" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="4" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="#ffffff"
android:gravity="center"
android:text="hello" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ffffff"
android:layout_gravity="center"
android:gravity="center"
android:text="hello" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ffffff"
android:layout_gravity="center"
android:gravity="center"
android:text="hello" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ffffff"
android:layout_gravity="center"
android:gravity="center"
android:text="hello" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ffffff"
android:gravity="center"
android:text="hello" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ffffff"
android:gravity="center"
android:text="hello" />
</LinearLayout>
Hasilnya :
Semoga bermanfaat
mantapppp
BalasHapus:)
BalasHapuskereeen
BalasHapusSangat membantu
BalasHapus