Back to Pengembangan Aplikasi Android

Android UI Development: Views and Layout Systems

Questions/Cues

  • Apa perbedaan View dan ViewGroup di Android?
  • Mengapa XML digunakan untuk mendefinisikan tata letak?
  • Bagaimana properti wrap_content vs match_parent bekerja?
  • Kapan menggunakan ConstraintLayout vs LinearLayout?
  • Bagaimana menghubungkan View dengan kode Kotlin?

Reference Points

  • Android Development with Kotlin (Slides 26-34, 51-64)
  • Android Development with Kotlin (Slides 56-63)

Konsep Dasar View

View merupakan blok bangunan dasar antarmuka pengguna di Android. Setiap elemen yang terlihat di layar seperti tombol, teks, atau gambar merupakan turunan dari kelas View. View memiliki beberapa karakteristik utama:

  1. Bidang Persegi: Setiap View menempati area persegi panjang di layar
  2. Penanganan Event: Dapat merespons interaksi pengguna seperti sentuhan
  3. Properti Visual: Memiliki atribut seperti warna, ukuran, dan posisi

Contoh implementasi:

 
<TextView
 
android:id="@+id/textContoh"
 
android:layout_width="wrap_content"
 
android:layout_height="wrap_content"
 
android:text="Halo Android!" />
 

Analogi: View seperti batu bata yang digunakan untuk membangun dinding antarmuka aplikasi.

Sistem Tata Letak (Layout)

ViewGroup merupakan kontainer khusus yang mengatur penempatan dan perilaku child View di dalamnya. Terdapat beberapa jenis Layout Manager:

  1. FrameLayout: Menumpuk View di atas satu sama lain (contoh: overlay teks di atas gambar)
  2. LinearLayout: Menyusun View secara horizontal/vertikal berurutan
  3. ConstraintLayout: Mengatur posisi relatif antar View menggunakan constraint

Contoh LinearLayout vertikal:

 
<LinearLayout
 
android:orientation="vertical"
 
android:layout_width="match_parent"
 
android:layout_height="match_parent">
 
<TextView.../>
 
<Button.../>
 
</LinearLayout>
 

Pemilihan layout bergantung pada kompleksitas UI. ConstraintLayout fleksibel untuk desain kompleks, sedangkan LinearLayout cocok untuk struktur sederhana.

Definisi Tata Letak dengan XML

XML digunakan untuk mendefinisikan hierarki UI karena beberapa keunggulan:

  1. Pemisahan Logika dan Tampilan: Memisahkan kode bisnis dari desain UI
  2. Preview Visual: Dapat dilihat langsung di Android Studio Layout Editor
  3. Kompatibilitas Versi: Memudahkan adaptasi untuk berbagai ukuran layar

Setiap elemen XML memiliki atribut penting:

  • android:layout_width: lebar (wrap_content/match_parent/nilai spesifik)
  • android:layout_height: tinggi
  • android:id: identifikasi unik untuk akses di kode Kotlin

Contoh penerapan:

 
val textView = findViewById<TextView>(R.id.textContoh)
 
textView.text = "Teks Diubah Secara Dinamis"
 

Pengelolaan Sumber Daya (Resources)

File XML disimpan di direktori res/ dengan beberapa subdirektori penting:

  • layout: Berisi file XML tata letak
  • values: Menyimpan string, warna, dimensi yang dapat diubah sesuai konfigurasi
  • drawable: Gambar dan bentuk vektor

Keuntungan penggunaan resources:

  1. Lokalisasi Mudah: Kustomisasi untuk bahasa berbeda
  2. Adaptasi Perangkat: Desain berbeda untuk ukuran layar berbeda
  3. Pemeliharaan Lebih Mudah: Perubahan tampilan tak perlu ubah kode

Summary

View merupakan komponen dasar UI Android berupa elemen persegi yang menangani tampilan dan interaksi, sedangkan ViewGroup bertindak sebagai kontainer yang mengatur tata letak child View. Sistem tata letak Android menggunakan XML untuk mendefinisikan hierarki UI karena mampu memisahkan logika aplikasi dari desain visual. Pemilihan jenis layout (ConstraintLayout, LinearLayout, dll) bergantung pada kompleksitas kebutuhan desain. Resource management memungkinkan adaptasi UI yang efisien untuk berbagai konfigurasi perangkat melalui pengorganisasian file di direktori res/.