Tugas 7 - PPB G Membuat Halaman Login pada Aplikasi
Muhammad Fahmi Syahputra
File 1: MainActivity.kt
File ini berfungsi sebagai pintu masuk utama aplikasi (entry point). Kelas MainActivity
mewarisi dari ComponentActivity
karena kita menggunakan Jetpack Compose sebagai UI framework.
Di dalam fungsi onCreate()
, kita memanggil setContent {}
yang digunakan untuk menampilkan tampilan berbasis Compose. Di dalamnya, kita bungkus tampilan dengan MaterialTheme {}
untuk mengatur styling global, dan kemudian kita panggil fungsi LoginScreen()
yang isinya adalah UI halaman login.
File 2: LoginScreen.kt
File ini adalah tempat kita mendesain tampilan halaman login pakai Jetpack Compose. Fungsi utama di sini adalah @Composable fun LoginScreen()
.
- State
Kita bikin dua state lokal:
Fungsinya untuk menyimpan input dari user di textfield email dan password.
- Struktur Layout
Untuk layout-nya, kita pakai Column
yang isinya ditata di tengah layar. Di dalam Column
itu kita atur beberapa komponen:
-
Gambar: Ilustrasi login yang kita ambil dari drawable (
ic_login_illustration.png
). -
Teks: Tulisan “Welcome Back” dan “Login to your account”.
-
Input Field: Dua
OutlinedTextField
buat input email dan password. Password-nya dibungkusPasswordVisualTransformation()
supaya input-nya gak kelihatan. -
Tombol Login:
Button
warna ungu yang bisa diklik (walaupun belum ngapa-ngapain). -
Tombol Lupa Password: Cuma teks biasa tapi bisa diklik (masih kosong juga).
-
Login Sosial: Ada ikon Facebook, Google, dan X (Twitter) yang ditampilkan pakai
Row
danIconButton
.
Semua layout-nya kita atur pakai modifier kayak padding
, fillMaxWidth
, dan Spacer
untuk ngatur jarak antar elemen.
- Interaksi
Ketika user ngetik di textfield, isi email
dan password
langsung berubah karena onValueChange
-nya update state-nya.
Untuk sekarang, semua tombol masih placeholder — klik tombol login belum melakukan aksi apa-apa, dan login sosial juga masih belum dihubungkan ke mana-mana.
File 3: build.gradle.kts
(Module)
File ini adalah konfigurasi untuk module aplikasi. Beberapa hal penting:
Karena pakai Kotlin 2.0, kita juga aktifkan plugin Compose Compiler terbaru:
Kita pakai Material 3, jadi semua komponen UI kita impor dari library
androidx.compose.material3
Versi-versi library kita sesuaikan:
Comments
Post a Comment