Tugas 4
Nama : Heru Dwi Kurniawan
Nrp : 5025211055
Kelas : PBB B
TUGAS 4 Membuat Aplikasi Login Screen
Dalam proyek ini, kita akan mengembangkan sebuah layar login untuk aplikasi Android. Layar ini akan meminta pengguna untuk menginputkan alamat email dan kata sandi mereka. Selain itu, layar ini akan menampilkan sebuah tombol untuk melakukan login, serta sebuah opsi "Forgot Password?" yang dapat digunakan jika pengguna lupa kata sandi mereka. Kami juga akan menyediakan pilihan untuk login menggunakan akun dari platform pihak ketiga seperti Gmail, Facebook, X.com, dan GitHub.
Berikut langkah-langkah untuk membuat proyek baru di Android Studio:
1. Buka Android Studio dan pilih opsi "File" > "New" > "New Project".
2. Dalam jendela dialog "New Project", pilih "Empty Activity", kemudian klik "Next".
3. Isi kolom "Name" dengan "MyLogin".
4. Pilih API level minimum 26 (Oreo) dari daftar yang tersedia di kolom "Minimum SDK", lalu klik "Finish".
package com.example.userauthentication
import android.util.Log
import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Button
import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
@Composable
fun SignInScreen() {
var emailAddress by remember { mutableStateOf("") }
var userPassword by remember { mutableStateOf("") }
Column(
modifier = Modifier.fillMaxSize(),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
Image(
painter = painterResource(id = R.drawable.a),
contentDescription = "Login Image",
modifier = Modifier.size(300.dp)
)
Text(text = "Welcome Back", fontSize = 28.sp, fontWeight = FontWeight.Bold)
Spacer(modifier = Modifier.height(4.dp))
Text(text = "Log in to Your Account")
Spacer(modifier = Modifier.height(16.dp))
OutlinedTextField(
value = emailAddress,
onValueChange = { emailAddress = it },
label = { Text(text = "Email address") }
)
Spacer(modifier = Modifier.height(16.dp))
OutlinedTextField(
value = userPassword,
onValueChange = { userPassword = it },
label = { Text(text = "Password") },
visualTransformation = PasswordVisualTransformation()
)
Spacer(modifier = Modifier.height(16.dp))
Button(onClick = {
Log.i("Credentials", "Email: $emailAddress Password: $userPassword")
}) {
Text(text = "Log In")
}
Spacer(modifier = Modifier.height(32.dp))
Text(
text = "Forgot password?",
modifier = Modifier.clickable {
// Handle forgot password click
}
)
Spacer(modifier = Modifier.height(32.dp))
Text(text = "Or sign in with")
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceEvenly
) {
Image(
painter = painterResource(id = R.drawable.facebook),
contentDescription = "Facebook",
modifier = Modifier
.size(60.dp)
.clickable {
// Handle Facebook login click
}
)
Image(
painter = painterResource(id = R.drawable.google),
contentDescription = "Google",
modifier = Modifier
.size(60.dp)
.clickable {
// Handle Google login click
}
)
Image(
painter = painterResource(id = R.drawable.twitter),
contentDescription = "Twitter/X",
modifier = Modifier
.size(60.dp)
.clickable {
// Handle Twitter login click
}
)
}
}
}
Komentar
Posting Komentar