Pertemuan 4 - PPB G

 Nama : Muhammad Hafidh Rosyadi
 NRP : 5025211013
 Kelas  : PPB G
 
Membuat aplikasi Dice Roller interaktif
 

  Link Code : https://github.com/Hfdrsyd/Tugas-PPB/tree/main/DiceRoller

 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)

@Composable
fun 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

Postingan populer dari blog ini

EAS PPL

TUGAS 10 PPL - Desain Database

TUGAS 8 PPL - Estimasi Kapasitas Sistem