Avancée android + profile page

android
Lucie GOIGOUX 1 year ago
parent 6f66b23fe3
commit c621f51333

@ -18,7 +18,9 @@ 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.res.stringResource
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 androidx.navigation.compose.NavHost
@ -27,7 +29,7 @@ import androidx.navigation.compose.rememberNavController
import sae.android.sae_2a.R
import sae.android.sae_2a.game.VocabularyScreen
@Preview
@Composable
fun MyApp() {
val navController = rememberNavController()
@ -45,12 +47,12 @@ fun HomeScreen(NavigateToRegister: () -> Unit,NavigateToLogin: () -> Unit ){
Surface(modifier = Modifier
.wrapContentWidth(align = Alignment.CenterHorizontally)
.wrapContentHeight(align = Alignment.CenterVertically)
.fillMaxSize(),) {
.wrapContentWidth(align = Alignment.CenterHorizontally)
.wrapContentHeight(align = Alignment.CenterVertically)
.fillMaxSize(),) {
Column( modifier = Modifier
.background(color = Color.Gray)
.wrapContentWidth(align = Alignment.CenterHorizontally)){
.background(color = Color.Gray)
.wrapContentWidth(align = Alignment.CenterHorizontally)){
Image(
painter = painterResource(id = R.drawable.logo),
contentDescription = "Description de l'image",
@ -61,26 +63,25 @@ fun HomeScreen(NavigateToRegister: () -> Unit,NavigateToLogin: () -> Unit ){
.size(width = 200.dp, height = 200.dp)
)
Text(text ="InEnglishPlease", color = Color.White, fontSize = 30.sp, fontWeight = FontWeight(1000) , modifier = Modifier
.padding(40.dp)
.wrapContentHeight(align = Alignment.Top)
.wrapContentWidth(align = Alignment.CenterHorizontally)
.align(alignment = Alignment.CenterHorizontally))
.padding(70.dp)
.wrapContentHeight(align = Alignment.Top)
.wrapContentWidth(align = Alignment.CenterHorizontally)
.align(alignment = Alignment.CenterHorizontally))
Button( onClick = { NavigateToLogin() }, modifier = Modifier
.padding(30.dp)
.width(150.dp)
.padding(10.dp)
.width(500.dp)
.height(80.dp)
.align(alignment = Alignment.CenterHorizontally)) {
Text(text = "Login", fontSize = 20.sp)
Text(text = stringResource(id = R.string.logIn), fontSize = 20.sp)
}
Button(onClick = { NavigateToRegister() },modifier = Modifier
.padding(30.dp)
.width(150.dp)
.width(500.dp)
.padding(10.dp)
.height(80.dp)
.align(alignment = Alignment.CenterHorizontally)) {
Text(text = "Register", fontSize = 20.sp)
Text(text = stringResource(id = R.string.signIn), fontSize = 20.sp)
}
}
}

@ -15,21 +15,25 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import sae.android.sae_2a.R
@Composable
fun LoginScreen(onLoginClicked: (String, String) -> Unit) {
var username by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") }
val context = LocalContext.current
Column(
modifier = Modifier
.fillMaxSize(). fillMaxWidth() .fillMaxHeight().background(Color(157,134,146)),
.fillMaxSize()
.fillMaxWidth()
.fillMaxHeight()
.background(Color(157, 134, 146)),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
@ -50,15 +54,17 @@ fun LoginScreen(onLoginClicked: (String, String) -> Unit) {
onValueChange = { password = it },
label = { Text("Password") },
modifier = Modifier
.padding(bottom = 16.dp),
.padding(bottom = 26.dp),
visualTransformation = PasswordVisualTransformation()
)
Button(
onClick = { onLoginClicked(username, password) },
modifier = Modifier
.width(300.dp)
.height(50.dp)
) {
Text("Login")
Text(stringResource(id = R.string.logIn), fontSize = 20.sp,)
}
}
}

@ -1,13 +1,101 @@
package sae.android.sae_2a.view
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentWidth
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.Button
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.modifier.modifierLocalConsumer
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import sae.android.sae_2a.R
@Preview
@Composable
fun profileScreen() {
val nom = "testNom"
val prenom = "testPrenom"
val pseudo = "testPseudo"
Column( modifier = Modifier
.background(color = Color.Gray)
.wrapContentWidth(align = Alignment.Start)) {
Image(
painter = painterResource(id = R.drawable.noprofilepicture),
contentDescription = "Description de l'image",
modifier = Modifier
.wrapContentWidth(align = Alignment.CenterHorizontally)
.width(800.dp)
.padding(top = 40.dp, bottom = 10.dp)
.size(width = 200.dp, height = 200.dp)
)
Text(text = stringResource(id = R.string.profilePicture), color = Color.White, fontSize = 30.sp, fontWeight = FontWeight(1000) , modifier = Modifier
.padding(bottom = 15.dp)
.wrapContentHeight(align = Alignment.Top)
.wrapContentWidth(align = Alignment.CenterHorizontally)
.align(alignment = Alignment.CenterHorizontally)
)
Button( onClick = { }, modifier = Modifier
.padding(3.dp)
.width(500.dp)
.height(80.dp)) {
Row(
modifier = Modifier.padding(5.dp),
horizontalArrangement = Arrangement.spacedBy(18.dp)
){
Image(painter = painterResource(id = R.drawable.infoaccount), contentDescription = "home",
)
Text(text = stringResource(id = R.string.home), fontSize = 20.sp)
}
}
Button( onClick = { }, modifier = Modifier
.padding(3.dp)
.width(500.dp)
.height(80.dp)
.align(alignment = Alignment.CenterHorizontally)) {
Text(text = stringResource(id = R.string.accountDetails), fontSize = 20.sp)
}
Button( onClick = { }, modifier = Modifier
.padding(3.dp)
.width(500.dp)
.height(80.dp)
.align(alignment = Alignment.CenterHorizontally)) {
Text(text = stringResource(id = R.string.changepswd), fontSize = 20.sp)
}
Button( onClick = { }, modifier = Modifier
.padding(3.dp)
.width(500.dp)
.height(80.dp)
.align(alignment = Alignment.CenterHorizontally)) {
Text(text = stringResource(id = R.string.logOut), fontSize = 20.sp)
}
}
}

@ -1,11 +1,16 @@
<resources>
<string name="app_name">SAE_2A</string>
<string name="app_name" translatable="false">SAE_2A</string>
<string name="name">Name</string>
<string name="surname">Surname</string>
<string name="logIn">Log In</string>
<string name="logOut">Log Out</string>
<string name="signIn">Sign In</string>
<string name="password">Password</string>
<string name="voc_image_description">Picture representing vocabulary</string>
<string name="created_by">Created by</string>
<string name="unknown">Unknown</string>
<string name="profilePicture">Profile Picture</string>
<string name="home">Home</string>
<string name="accountDetails">Account Details</string>
<string name="changepswd">Change Password</string>
</resources>
Loading…
Cancel
Save