Android - Desain UI
Pada bab ini kita akan melihat berbagai komponen UI layar android. Bab ini juga membahas tips membuat desain UI yang lebih baik dan juga menjelaskan cara mendesain UI.
Komponen layar UI
Antarmuka pengguna umum aplikasi android terdiri dari bilah tindakan dan area konten aplikasi.
- Bilah Tindakan Utama
- Lihat Kontrol
- Area Konten
- Pisahkan Bilah Tindakan
Komponen-komponen ini juga telah ditunjukkan pada gambar di bawah ini -
Memahami Komponen Layar
Unit dasar aplikasi android adalah aktivitas. UI didefinisikan dalam file xml. Selama kompilasi, setiap elemen dalam XML dikompilasi menjadi kelas GUI Android yang setara dengan atribut yang diwakili oleh metode.
View dan ViewGroups
Suatu kegiatan terdiri dari pandangan. Tampilan hanyalah sebuah widget yang muncul di layar. Bisa berupa tombol, dll. Satu atau lebih tampilan dapat dikelompokkan menjadi satu GroupView. Contoh ViewGroup mencakup tata letak.
Jenis tata letak
Ada banyak jenis tata letak. Beberapa di antaranya tercantum di bawah -
- Tata Letak Linear
- Tata Letak Mutlak
- Tata Letak Tabel
- Tata Letak Bingkai
- Tata Letak Relatif
Tata Letak Linear
Tata letak linier selanjutnya dibagi menjadi tata letak horizontal dan vertikal. Artinya dapat mengatur tampilan dalam satu kolom atau dalam satu baris. Berikut adalah kode tata letak linier (vertikal) yang menyertakan tampilan teks.
<?xml version=”1.0” encoding=”utf-8”?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:orientation=”vertical” >
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello” />
</LinearLayout>
AbsoluteLayout
AbsoluteLayout memungkinkan Anda menentukan lokasi persis turunannya. Itu bisa dideklarasikan seperti ini.
<AbsoluteLayout
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
xmlns:android=”http://schemas.android.com/apk/res/android” >
<Button
android:layout_width=”188dp”
android:layout_height=”wrap_content”
android:text=”Button”
android:layout_x=”126px”
android:layout_y=”361px” />
</AbsoluteLayout>
TableLayout
TableLayout mengelompokkan tampilan menjadi baris dan kolom. Itu bisa dideklarasikan seperti ini.
<TableLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_height=”fill_parent”
android:layout_width=”fill_parent” >
<TableRow>
<TextView
android:text=”User Name:”
android:width =”120dp”
/>
<EditText
android:id=”@+id/txtUserName”
android:width=”200dp” />
</TableRow>
</TableLayout>
RelativeLayout
RelativeLayout memungkinkan Anda untuk menentukan bagaimana tampilan anak diposisikan relatif terhadap satu sama lain. Dapat dideklarasikan seperti ini.
<RelativeLayout
android:id=”@+id/RLayout”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
xmlns:android=”http://schemas.android.com/apk/res/android” >
</RelativeLayout>
FrameLayout
FrameLayout adalah placeholder di layar yang bisa Anda gunakan untuk menampilkan tampilan tunggal. Itu bisa dideklarasikan seperti ini.
<?xml version=”1.0” encoding=”utf-8”?>
<FrameLayout
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignLeft=”@+id/lblComments”
android:layout_below=”@+id/lblComments”
android:layout_centerHorizontal=”true” >
<ImageView
android:src = “@drawable/droid”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content” />
</FrameLayout>
Selain atribut ini, ada atribut lain yang sama di semua tampilan dan ViewGroups. Mereka tercantum di bawah ini -
Sr Tidak | Lihat & deskripsi |
---|---|
1 | layout_width Menentukan lebar View atau ViewGroup |
2 | layout_height Menentukan tinggi View atau ViewGroup |
3 | layout_marginTop Menentukan ruang ekstra di sisi atas View atau ViewGroup |
4 | layout_marginBottom Menentukan ruang ekstra di sisi bawah View atau ViewGroup |
5 | layout_marginLeft Menentukan ruang ekstra di sisi kiri View atau ViewGroup |
6 | layout_marginRight Menentukan ruang ekstra di sisi kanan View atau ViewGroup |
7 | layout_gravity Menentukan bagaimana View anak diposisikan |
8 | layout_weight Menentukan berapa banyak ruang ekstra dalam layout yang harus dialokasikan ke View |
Satuan pengukuran
Saat Anda menentukan ukuran elemen di UI Android, Anda harus mengingat unit pengukuran berikut.
Sr Tidak | Unit & deskripsi |
---|---|
1 | dp Pixel yang tidak tergantung kepadatan. 1 dp setara dengan satu piksel pada layar 160 dpi. |
2 | sp Piksel tanpa skala. Ini mirip dengan dp dan direkomendasikan untuk menentukan ukuran font |
3 | pt Titik. Sebuah titik didefinisikan sebagai 1/72 inci, berdasarkan ukuran layar fisik. |
4 | px Pixel. Sesuai dengan piksel aktual di layar |
Kepadatan Layar
Sr Tidak | Kepadatan & DPI |
---|---|
1 | Low density (ldpi) 120 dpi |
2 | Medium density (mdpi) 160 dpi |
3 | High density (hdpi) 240 dpi |
4 | Extra High density (xhdpi) 320 dpi |
Mengoptimalkan tata letak
Berikut adalah beberapa pedoman untuk membuat tata letak yang efisien.
- Hindari bersarang yang tidak perlu
- Hindari menggunakan terlalu banyak Tampilan
- Hindari bersarang dalam