Furstin Aprilavia Putri - 5025221234 - PPB D
Membuat halaman login sederhana dengan Jetpaack Compose 🚀
1. Pendahuluan
Pada tugas ke-7 ini, saya membuat implementasi sederhana dari halaman login menggunakan Jetpack Compose, dilengkapi dengan desain pastel dan fitur login.
2. Kode
Kode lengkap dapat dilihat di GitHub : https://github.com/furstinvia/ppb-d-7-loginpage.git
Kode ini menjalankan UI berbasis Compose dengan tema Material 3 dan menampilkan komponen LoginScreen() sebagai tampilan utama aplikasi.
1. UI Utama: LoginScreen()
Latar dan Layout
Column(
modifier = Modifier
.fillMaxSize()
.background(Color(0xFFFFF3F0)) // pastel pink
.padding(24.dp),
horizontalAlignment = Alignment.CenterHorizontally
)
Menggunakan Column
untuk menyusun elemen secara vertikal.
Ilustrasi Gambar di Atas Form
Image(
painter = painterResource(id = R.drawable.login),
contentDescription = "Top Image",
modifier = Modifier
.fillMaxWidth()
.height(180.dp)
)
Gambar header diperbesar menjadi 180dp untuk memberikan kesan lebih dominan dan menarik di bagian atas layar.
Teks Sambutan
Text(
text = "Welcome Back, Furstin! 🚀",
fontSize = 24.sp,
color = Color(0xFF444444)
)
Teks ini diposisikan tepat di bawah ilustrasi.
Input Email dan Password
OutlinedTextField(
value = email,
onValueChange = { email = it },
label = { Text("Email") },
modifier = Modifier.fillMaxWidth()
)
Field input dibuat dengan OutlinedTextField agar tampilan tetap clean dan ringan. Password disembunyikan menggunakan PasswordVisualTransformation().
Tombol Login
Button(
onClick = { /* login action */ },
colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFB8A9C9)),
modifier = Modifier.fillMaxWidth()
) {
Text("Login", color = Color.White)
}
Tombol login menggunakan warna pastel ungu agar menyatu dengan tema aplikasi, dengan teks putih untuk kontras
Opsi Login Alternatif
Row(
horizontalArrangement = Arrangement.SpaceEvenly,
modifier = Modifier.fillMaxWidth()
) {
listOf(
R.drawable.google,
R.drawable.facebook,
R.drawable.apple
).forEach {
Image(
painter = painterResource(id = it),
contentDescription = "Logo",
modifier = Modifier.size(40.dp)
)
}
}
Tiga logo platform populer (Google, Facebook, Apple) ditampilkan sebagai alternatif metode login. Ini penting untuk kemudahan akses pengguna.
3. Video Presentasi
atau klik disini
Comments
Post a Comment