Upload files to "/"

Tugas Membuat Kartu Nama
This commit is contained in:
202310715123 FARIS NAUFAL PRIATNA 2025-10-30 19:31:59 +07:00
commit e71ed02dea

123
MainActivity.kt Normal file
View File

@ -0,0 +1,123 @@
//Faris Naufal Priatna
//202310715123
package com.example.kartunama
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Call
import androidx.compose.material.icons.filled.Email
import androidx.compose.material.icons.filled.Share
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.layout.ContentScale
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.kartunama.ui.theme.KartuNamaTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
KartuNamaTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.surfaceVariant
) {
BusinessCard()
}
}
}
}
}
@Composable
fun BusinessCard() {
Box(
modifier = Modifier
.fillMaxSize()
.background(MaterialTheme.colorScheme.surfaceVariant)
) {
// ()
Column(
modifier = Modifier
.align(Alignment.Center)
.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
Image(
painter = painterResource(id = R.drawable.gambarfaris),
contentDescription = "Logo",
modifier = Modifier
.size(120.dp)
.clip(CircleShape),
contentScale = ContentScale.Crop
)
Spacer(modifier = Modifier.height(16.dp))
Text(
text = "Faris Naufal Priatna",
fontSize = 30.sp,
fontWeight = FontWeight.Bold
)
Text(
text = "University Of Ubhara Jaya",
fontSize = 16.sp,
color = MaterialTheme.colorScheme.primary
)
}
// (Kontak)
Column(
modifier = Modifier
.align(Alignment.BottomCenter)
.padding(bottom = 32.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
ContactRow(icon = Icons.Filled.Call, text = "+62 857 1115 6094")
ContactRow(icon = Icons.Filled.Share, text = "@Farisnaufal")
ContactRow(icon = Icons.Filled.Email, text = "202310715123@ubharajaya.ac.id")
}
}
}
@Composable
fun ContactRow(icon: androidx.compose.ui.graphics.vector.ImageVector, text: String) {
Row(
modifier = Modifier
.padding(vertical = 4.dp),
verticalAlignment = Alignment.CenterVertically
) {
Icon(
imageVector = icon,
contentDescription = null,
modifier = Modifier
.padding(end = 8.dp)
.size(20.dp)
)
Text(text = text, fontSize = 14.sp)
}
}
@Preview(showBackground = true)
@Composable
fun BusinessCardPreview() {
KartuNamaTheme {
BusinessCard()
}
}