From 924d1277f597c0b697e3a6c5078dcf1e090d1317 Mon Sep 17 00:00:00 2001 From: Rakha adi Date: Thu, 16 Oct 2025 14:51:35 +0700 Subject: [PATCH] bussines card --- .../bussinescardapp/MainActivity.kt | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 app/src/main/java/com/aplication/bussinescardapp/MainActivity.kt diff --git a/app/src/main/java/com/aplication/bussinescardapp/MainActivity.kt b/app/src/main/java/com/aplication/bussinescardapp/MainActivity.kt new file mode 100644 index 0000000..5d87fcb --- /dev/null +++ b/app/src/main/java/com/aplication/bussinescardapp/MainActivity.kt @@ -0,0 +1,93 @@ +import com.aplication.bussinescardapp.ui.theme.BusinessCardTheme + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContent { + BusinessCardTheme { + Surface( + modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colorScheme.background + ) { + BusinessCard() + } + } + } + } +} + +@Composable +fun BusinessCard() { + Column( + modifier = Modifier + .fillMaxSize() + .padding(16.dp), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally + ) { + // Logo atau Foto Profil + Image( + painter = painterResource(id = R.drawable.android_logo), + contentDescription = "Logo", + modifier = Modifier + .size(120.dp) + .clip(CircleShape), + contentScale = ContentScale.Crop + ) + + Spacer(modifier = Modifier.height(16.dp)) + + // Nama dan Jabatan + Text( + text = "Rakha Adi Saputro", + fontSize = 32.sp, + fontWeight = FontWeight.Bold + ) + Text( + text = "Android Developer", + fontSize = 20.sp, + color = Color.Gray + ) + + Spacer(modifier = Modifier.height(32.dp)) + + // Informasi Kontak + ContactInfo(icon = R.drawable.ic_phone, info = "+62 812-3456-7890") + ContactInfo(icon = R.drawable.ic_email, info = "202310715083@mhs.ubharajaya.ac.id") + } +} + +@Composable +fun ContactInfo(icon: Int, info: String) { + Row( + modifier = Modifier.padding(vertical = 4.dp), + verticalAlignment = Alignment.CenterVertically + ) { + Icon( + painter = painterResource(id = icon), + contentDescription = null, + tint = Color.Gray, + modifier = Modifier.size(24.dp) + ) + Spacer(modifier = Modifier.width(8.dp)) + Text(text = info) + } +} \ No newline at end of file