Upload files to "/"
Tugas Membuat Kartu Nama
This commit is contained in:
		
						commit
						e71ed02dea
					
				
							
								
								
									
										123
									
								
								MainActivity.kt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								MainActivity.kt
									
									
									
									
									
										Normal 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()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user