Pertemuan 3 - Aplikasi Sederhana Happy Birthday

Nama              : Al-Ferro Yudisthira Putra

NRP                : 5025211176

Kelas               : PPB - A


Aplikasi Sederhana Happy Birthday

Pada pertemuan minggu ke-tiga, kami membangun sebuah aplikasi sederhana bernamakan Happy Birthday.



Untuk membangun aplikasi sederhana Happy Birthday, digunakan code sebagai berikut

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 Ferro!",
from = "From Yudisthira",
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 Ferro!", from = "From Yudisthira")
}
}

MainActivity Class

MainActivity adalah aktivitas utama aplikasi yang mewarisi ComponentActivity. Fungsi onCreate dalam kelas ini dipanggil saat aktivitas dibuat. Di dalamnya, fungsi setContent digunakan untuk menentukan tata letak UI menggunakan Jetpack Compose. HappyBirthdayTheme digunakan untuk menerapkan tema yang sesuai dengan desain aplikasi. Kemudian, elemen Surface berfungsi sebagai wadah utama dengan latar belakang yang sesuai dengan tema. Di dalamnya, fungsi GreetingText dipanggil untuk menampilkan teks ucapan ulang tahun.

GreetingText Composable Function

GreetingText adalah fungsi composable yang bertanggung jawab untuk menampilkan teks ucapan ulang tahun. Fungsi ini menerima tiga parameter: message (pesan utama), from (pengirim pesan), dan modifier untuk menyesuaikan tampilan elemen. Di dalam fungsi ini, Column digunakan untuk menyusun elemen secara vertikal dengan Arrangement.Center agar kontennya berada di tengah secara vertikal.

Fungsi ini memiliki dua elemen Text. Yang pertama menampilkan pesan ulang tahun dengan ukuran font yang sangat besar (100.sp), tinggi baris 116.sp, dan teks yang diatur ke tengah. Yang kedua menampilkan teks "From ..." dengan ukuran font lebih kecil (36.sp), diberi padding sebesar 16.dp, dan diposisikan di bagian akhir menggunakan align(Alignment.End).



Repository
https://github.com/YudisthiraPutra/PPB_Week3_Assignment

Comments

Popular posts from this blog

Pertemuan 2 - Aplikasi Hello Android

Pertemuan 7 - UI/UX Login Page

Pertemuan 6_Aplikasi Currency Converter