Aplication UI
Aplication UI
q Hal ini untuk mencegah gambar yang digunakan terlihat pecah, kabur atau terlalu kecil pada
device dengan resolusi berbeda.
Satuan Dimensi di Android
q Ekosistem Android dikenal dengan fragmentasi spesifikasi perangkat yang sangat bervariasi.
Beragam perangkat Android memiliki perbedaan dimensi layar dan kerapatan pixel (density).
q Untuk tampilan yang konsisten di perangkat Android, terdapat 2 jenis satuan, yaitu dip/dp
(density-independent pixel) dan sp (scale-independent pixels).
q Satuan dp digunakan untuk satuan dari nilai dimensi misal width (attribut : layout_width) dan
height (attribut : layout_height) dari sebuah komponen view atau viewgroup.
q Satuan sp digunakan untuk ukuran teks. Perbedaannya dengan dp / dip adalah satuan sp
android akan men-scale ukuran teks sesuai dengan setting ukuran teks di peranti (yang biasa
dapat di akses melalui menu settings)
Contoh Satuan Dimensi
Contoh Satuan Dimensi 2
Pada gambar di samping ukuran
200dp akan dikonversi
pada device mdpi (device
dengan density 160dpi/dots per
inch) menjadi 200px dan menjadi
400px pada device xhdpi
(density 420dpi) misal pada Nexus
4. Sehingga ukuran tersebut
tampak sama dan konsisten
secara fisik untuk beragam
peranti dengan ukuran layar yang
berbeda.
Menulis XML
q Extensible Markup Language (XML) adalah notasi untuk menulis file
yang berisi informasi yang disebut element.
q Sebagai contoh sebuah file yang menggambarkan tata letak layar yang
mungkin mengandung unsur - unsur tombol dan gambar.
Root element
Attribute
Child element
Attribute
Child element
Attribute
Load XML Layout
q Jika menggunakan XML untuk deklarasi Layout, setiap XML layout tersebut
akan di-compile dalam View resource dan harus di-load pada method
Activity.onCreate() dengan menggunakan method setContentView().
Contoh Membuat UI dengan Java
2. Instansiasi saat Runtime
Declare Widget
View Hierarchy
View merupakan obyek menggambar komponen
tampilan ke layar yang mana pengguna dapat melihat
dan berinteraksi langsung.
Source: https://developer.android.com/guide/topics/ui/declaring-layout
Contoh Widget Turunan dari View
q Text View, widget untuk menampilkan teks
q Button, widget yang berinteraksi dengan user dengan tap atau klik dan
kemudian menampilkan suatu action
Attribut Value:
Wrap Content dan Match Parent
EditText
q EditText digunakan untuk menerima input dari
Contoh:
pengguna.
q EditText adalah perluasan dari TextView yang bisa
diupdate. Fungsi yang biasanya sering digunakan
adalah:
o TxtBox.setText(”nilai tertentu”)
o TxtBox.getText().toString() Hasil:
Button
q Button merupakan turunan dari TextView
Contoh:
sehingga yang berlaku di TextView juga berlaku di
button.
q Tambahan property yang penting adalah:
o onClick
q Catatan: dp yang digunakan sebagai satuan
panjang merupakan singkatan dari density- Hasil:
independen pixel. Nilai pixel untuk 1 dp berubah-
ubah sesuai dengan resolusi. 1 dp pada resolusi
160 pixel berarti 1 pixel. Jika resolusinya 320 pixel,
maka 1 dp = 2 pixel demikian seterusnya.
ImageButton
q ImageButton adalah turunan dari button, Contoh:
gunakan widget ini jika ingin
menggunakan image sebagai pengganti
tulisan pada button.
Hasil:
ImageView
q ImageView dapat digunakan untuk Contoh:
menampilkan image.
q Gambar di widget ImageView bisa diambil
dari Assets atau dari Drawable
Hasil:
CheckBox & RadioButton
q Pada CheckBox, beberapa pilihan boleh aktif.
android:orientation=”horizontal” android:orientation=”vertical”
Source: https://developer.android.com/guide/topics/ui/layout/linear.html
Contoh LinearLayout
Linear 1
Linear 1
Linear 2
Linear 2
RelativeLayout
Layout yang paling fleksible dikarenakan posisi dari masing-masing komponen di dalamnya dapat
mengacu secara relatif pada komponen yang lainnya dan juga dapat mengacu secara relatif ke
batas layar.
Beberapa Attribut:
o android:layout_centerHorizontal
o android:layout_centerVertical
o layout_centerInParent
o android:layout_above
o android:layout_below
o android:layout_alignParentBottom
o android:layout_alignParentTop
o android:layout_alignParentLeft
o android:layout_alignParentRigth
Source: https://developer.android.com/guide/topics/ui/layout/relative
Contoh RelativeLayout
FrameLayout
q Layout ini adalah layout yang paling sederhana. Layout ini akan membuat widget yang ada
didalamnya menjadi menumpuk atau saling menutupi satu dengan yang lainnya (layering).
Contoh FrameLayout
TableLayout
Susunan widget di dalam TableLayout akan berada
dalam baris dan kolom. Namun tidak akan
menampilkan garis pembatas untuk baris, kolom
atau cell-nya.
Contoh TableLayout
Contraint Layout
Memungkinkan Anda membuat tata letak yang kompleks dan besar dengan hierarki tampilan
datar (tidak ada grup tampilan tersarang).
@string/string_name
R.string.string_name
Bisa juga convert menggunakan method getText()
Resource String Array
Format Contoh
Cara menggunakan
Localization
q Untuk menambah jumlah pengguna dari aplikasi, tentunya kita perlu
merangkul lebih banyak pengguna, baik dari dalam maupun luar negeri.
Latihan 1
Linear Layout
Hasil Akhir Aplikasi:
Latihan 2
Youtube Splash Screen
Hasil Akhir Aplikasi:
Latihan 3
Sign Up Screen
Referensi
q Official Android Developer Documentation: https://developer.android.com/
q Imaduddin, Ahmad dan Sidiq Permana. 2017. Menjadi Android Developer Expert. Bandung:
PT.Presentologics.