Tugas 3 PPB-A Composable - Happy Birthday App
Nama : Danar Sodik Priyambodo
NRP : 5025211145
PBKK-A
Aplikasi untuk Menampilkan Happy BirthDay
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.
KodeMainActivity.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 dariGreetingText
.
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
Posting Komentar