Pertemuan 4 - PPB G
Nama : Muhammad Hafidh Rosyadi
NRP : 5025211013
Kelas : PPB G
Membuat aplikasi Dice Roller interaktif
1. MainActivity
class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
HappyBirthdayTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
){
GreetingText(
message = "Happy Birthday Gan!",
from = "From Hafid",
modifier = Modifier.padding(8.dp)
)
}
}
}
}
}
- enableEdgeToEdge(): Membuat aplikasi menggunakan seluruh area layar (termasuk di belakang status bar/navigation bar).
- setContent {}: Menetapkan tampilan UI menggunakan Compose.
- HappyBirthdayTheme: Menerapkan tema Material 3 yang sudah dikustomisasi.
- Surface: Membungkus konten dengan warna latar belakang dari tema.
- GreetingText: Menampilkan komponen teks dengan pesan dan pengirim, yang dipanggil di sini.
2. GreetingText (Composable)
@Composablefun GreetingText(message: String, from: String, modifier: Modifier = Modifier) {
Column(
verticalArrangement = Arrangement.Center,
modifier = modifier
) {
Text(
text = message,
fontSize = 80.sp,
lineHeight = 100.sp,
textAlign = TextAlign.Center
)
Text(
text = from,
fontSize = 36.sp,
modifier = Modifier
.padding(16.dp)
.align(alignment = Alignment.End)
)
}
}
Column: Layout vertikal untuk menumpuk elemen Text dari atas ke bawah.
verticalArrangement = Arrangement.Center: Menempatkan semua isi kolom di tengah secara vertikal.
Teks Ucapan:
fontSize = 80.sp: Ukuran teks ucapan sangat besar.
lineHeight = 100.sp: Mengatur jarak antar garis teks untuk memperbaiki keterbacaan.
textAlign = TextAlign.Center: Teks diratakan ke tengah (meskipun Column tidak eksplisit full width).
Teks Pengirim:
fontSize = 36.sp: Ukuran teks pengirim lebih kecil.
align(alignment = Alignment.End): Menyusun teks pengirim di sisi kanan kolom.
padding(16.dp): Memberi jarak di sekeliling teks.
3. GreetingPreview (Preview)
@Preview(showBackground = true)@Composable
fun GreetingPreview() {
HappyBirthdayTheme {
GreetingText(message = "Happy Birthday Gan!", from = " From Hafid")
}
}
Fungsi ini hanya digunakan untuk preview di Android Studio tanpa perlu menjalankan aplikasi. Membungkus GreetingText di dalam tema agar tampilan preview konsisten.
Komentar
Posting Komentar