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

ETS - PPB G

Pertemuan 5 - PPB G

Pertemuan 3 - PPB G