Tugas 3 PPB-A Composable - Happy Birthday App

         

Nama : Danar Sodik Priyambodo

NRP : 5025211145

PBKK-A


Aplikasi untuk Menampilkan Happy BirthDay




    pada pertemuan ketiga kita membuat aplikasi sederhana dengan menampilkan text happy birthday menggunakan composable
berikut code nya:

package com.example.happybirthday

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.happybirthday.ui.theme.HappyBirthdayTheme

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
HappyBirthdayTheme {
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
GreetingText(
message = "Happy Birthday Danar",
from = "From Danar Sodik",
modifier = Modifier.padding(8.dp)
)
}
}
}
}
}

@Composable
fun GreetingText(message: String, from: String, modifier: Modifier = Modifier) {
Column(
verticalArrangement = Arrangement.Center,
modifier = modifier
) {
Text(
text = message,
fontSize = 100.sp,
lineHeight = 116.sp,
textAlign = TextAlign.Center
)
Text(
text = from,
fontSize = 36.sp,
modifier = Modifier
.padding(16.dp)
.align(alignment = Alignment.End)
)
}
}

@Preview(showBackground = true)
@Composable
fun BirthdayCardPreview() {
HappyBirthdayTheme {
GreetingText(message = "Happy Birthday Danar", from = "From Danar Sodik")
}
}

Proyek ini memiliki struktur sebagai berikut:

  • MainActivity.kt (Kode utama yang menangani tampilan)
  • ui.theme (Folder yang menyimpan tema aplikasi)

Kode di atas hanya berfokus pada tampilan menggunakan Jetpack Compose, yang merupakan toolkit modern dari Google untuk UI deklaratif di Android.

Kode MainActivity.kt
  • MainActivity adalah aktivitas utama yang menjalankan aplikasi.
  • onCreate dipanggil saat aplikasi pertama kali dijalankan.
  • setContent digunakan untuk menampilkan UI berbasis Compose.
  • HappyBirthdayTheme digunakan untuk menerapkan tema aplikasi.
  • Surface adalah container yang menggunakan warna latar belakang dari tema aplikasi.
  • GreetingText adalah fungsi komponen yang menampilkan teks ucapan ulang tahun.


Fungsi GreetingText
  • @Composable → Menandakan bahwa ini adalah fungsi Compose yang dapat digunakan sebagai bagian dari UI.
  • Column → Layout vertikal untuk menampilkan elemen secara berurutan.
  • Text (Pertama) → Menampilkan teks "Happy Birthday Danar" dengan ukuran besar (100.sp).
  • Text (Kedua) → Menampilkan teks "From Danar Sodik" dengan ukuran lebih kecil (36.sp), serta ditata agar berada di kanan bawah (Alignment.End).

Fungsi BirthdayCardPreview (Preview Mode)

  • @Preview(showBackground = true) → Memungkinkan tampilan UI dilihat di Android Studio tanpa perlu menjalankan aplikasi.
  • BirthdayCardPreview menampilkan versi statis dari GreetingText.

Kesimpulan
  • Aplikasi ini hanya menampilkan kartu ucapan ulang tahun.
  • Menggunakan Jetpack Compose sebagai framework UI.
  • Tidak ada interaksi, hanya tampilan statis.
  • Tema (HappyBirthdayTheme) digunakan untuk mengatur warna dan gaya tampilan.

Komentar

Postingan populer dari blog ini

Tugas 2 PPB-A Dasar Jetpack Compose

Tugas 4 PPB-A Dice Roller Interaktif