package com.example.businesscard import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Email import androidx.compose.material.icons.filled.Phone import androidx.compose.material.icons.filled.Share import androidx.compose.material3.Icon 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.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.example.businesscard.ui.theme.BusinessCardTheme class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { BusinessCardTheme { Surface( modifier = Modifier.fillMaxSize(), color = Color(0xFFD2E8D4) ) { BusinessCard() } } } } } @Composable fun BusinessCard() { Box( modifier = Modifier .fillMaxSize() .background(Color(0xFFD2E8D4)) ) { Column( modifier = Modifier.align(Alignment.Center), horizontalAlignment = Alignment.CenterHorizontally ) { val image = painterResource(id = R.drawable.android_logo) Image( painter = image, contentDescription = "Android Logo", modifier = Modifier .size(120.dp) .background(Color(0xFF073042)) .padding(16.dp) ) Spacer(modifier = Modifier.height(16.dp)) Text( text = "Markco Van Nistelrooy Sitanggang", fontSize = 25.sp, color = Color.Black ) Text( text = "Software Developer", fontWeight = FontWeight.Bold, color = Color(0xFF006E37) ) } Column( horizontalAlignment = Alignment.Start, modifier = Modifier .align(Alignment.BottomCenter) .padding(bottom = 40.dp) .width(260.dp) ) { ContactRow(Icons.Default.Phone, "+62 1111 1111 1111") ContactRow(Icons.Default.Share, "@AndroidDev") ContactRow(Icons.Default.Email, "markcogg130105.com") } } } @Composable fun ContactRow(icon: androidx.compose.ui.graphics.vector.ImageVector, text: String) { Row( verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(vertical = 4.dp) ) { Icon( imageVector = icon, contentDescription = null, tint = Color(0xFF006E37), modifier = Modifier.size(20.dp) ) Spacer(modifier = Modifier.width(16.dp)) Text( text = text, fontSize = 14.sp, color = Color.Black ) } } @Preview(showBackground = true) @Composable fun BusinessCardPreview() { BusinessCardTheme { BusinessCard() } }