because i'm beginner

.

Selasa, 20 Oktober 2015

Android Layout: LinearLayout

4 komentar
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

4 komentar :