Jumat, 15 Desember 2017

Komponen Layout




 
Layout adalah komponen dasar dalam pembentukan UI dan merupakan container utama untuk komponen-komponen lain pada tampilan aplikasi Android.  Dalam satu tampilan aplikasi Android bisa terdapat lebih dari satu Layout dengan adanya sebuah file XML layout sebagai parent, dan dimungkinkan adanya nested layout dalam satu file UI XML.
Terdapat empat jenis layout utama di Android :
  • Linear Layout
  • Relative Layout
  • Frame Layout
  • Grid Layout
Pembedanya adalah pada posisi penempatan komponen-komponen (child view) didalamnya, sebagai berikut:
Linear Layout
Akan menempatkan komponen-komponen didalamnya secara horizontal atau vertical (menyamping atau menurun). LinearLayout memiliki atribut weight untuk masing-masing child view yang terdapat didalam LinearLayout yang berguna untuk mengontrol porsi ukuran view secara Relatif dalam sebuah ruang (space) yang tersedia.Picture11
Relative Layout
Layout yang paling fleksibel dikarenakan posisi dari masing-masing komponen didalamnya dapat mengacu secara relatif pada komponen yang lainnya dan juga dapat mengacu secara relatif ke batas layar.
Picture12
Frame Layout
Layout ini adalah layout yang paling sederhana. Layout ini akan membuat komponen yang ada didalamnya menjadi menumpuk atau saling menutupi satu dengan yang lainnya (layering). Komponen yang paling pertama pada layout ini akan berada dibawah komponen-komponen diatasnya. Pada materi penggunaan fragment di materi sebelumnya, FrameLayout memiliki kemampuan untuk menjadi container untuk fragment-fragment didalam sebuah Activity. Berikut ilustrasi dari penggunaan FrameLayout terhadap child view yang dimiliki didalamnya.
Picture13
Grid Layout
Diperkenalkan pada API level 14 (Android 4.o / Ice Cream Sandwich), layout ini akan memberikan kemudahan dengan mengakomodir komponen didalamnya ke dalam bentuk Grid (Kolom dan Baris). Dalam sebuah referensi, GridLayout merupakan komponen layout yang sangat flexibel dan dapat dimanfaatkan untuk menyederhanakan pembuatan Layout UI yang bersifat kompleks dan bersarang yang terdapat di komponen Layout lainnya.
Picture14

Kapan sebaiknya saya menggunakan masing-masing jenis Layout tersebut?
Pemahaman yang baik terhadap dasar-dasar pembangunan UI di android, pengalaman, feeling, dan mencari tahu bagaimana best practicenya. Semua tergantung latihan dan seberapa sering kita berhadapan dengan kasus-kasus melakukan transformasi UI dari bentuk mockup ke dalam bentuk kode XML di Android. Dengan membiasakan mengkode sisi UI di XML tanpa drag and drop akan mempercepat pembentukan pola pikir dan feeling kita dalam membangun dan mentransformasi UI ke dalam bentuk yang dibutuhkan.

Scroll View
ScrollView adalah sebuah komponen yang akan membuat komponen didalam dapat digeser (scroll) secara vertical dan horizontal. Dengan ScrollView, dimungkinkan ukuran komponen didalamnya melebihi ukuran screen. Komponen didalam scrollview hanya diperbolehkan memiliki 1 parent utama dari layout linear, relatif, frame, atau grid layout.

Android Unit
Ekosistem android dikenal dengan fragmentasi spesifikasi device yang sangat bervariasi termasuk perbedaan dimensi layar dan kerapatan pixel dari layar di masing-masing jenis device, terdapat 3 jenis pengukuran di desain layout android:
  1. px (pixel)
  2. dp/dip (density-independent pixel)
  3. sp (scale-independent pixels)
Untuk tampilan yang konsisten di handset Android terdapat satuan untuk dimensi dan ukuran dari teks yaitu : dip/dp (density- independent pixel) dan sp (scale-independent pixels). Satuan dp/dip digunakan untuk satuan dari nilai dimensi misal width (attribut : layout_width) dan height (attribut : layout_height) dari sebuah komponen view. Sementara satuan sp digunakan untuk ukuran teks. Perbedaannya dengan dp/dip,  satuan sp akan menyesuaikan ukuran teks sesuai dengan setting ukuran teks di device (yang biasa dapat di akses melalui menu settings oleh user).







https://blog.dicoding.com/android-module-5-android-layout/

Android dengan Aplikasi Eclipse . 2017 Copyright. All rights reserved. Designed by Blogger Template | Free Blogger Templates