Лабораторная 2. Экран авторизации.

This commit is contained in:
Артем Харламов 2024-01-17 14:02:11 +04:00
parent 3cacfd64b4
commit 8aef08d754
2 changed files with 108 additions and 1 deletions

View File

@ -0,0 +1,105 @@
package com.example.pmu_2023.Forms
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Button
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Text
import androidx.compose.material3.TextField
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.pmu_2023.ui.theme.MainBlue
@Preview
@Composable
fun Login(){
Column (
modifier = Modifier
.fillMaxSize()
.background(MainBlue),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.SpaceEvenly
) {
Text(
text = "Авторизация",
fontSize = 40.sp,
fontWeight = FontWeight.Bold,
color = Color.White,
)
Column(
modifier = Modifier
.fillMaxWidth()
.padding(20.dp)
) {
Login_Field(name = "Email", label = "Введите адрес электронной почты...")
Login_Field(name = "Password", label = "Введите пароль...")
Text(
text = "Регистрация",
style = TextStyle(textDecoration = TextDecoration.Underline),
fontSize = 15.sp,
modifier = Modifier
.fillMaxWidth()
.padding(top = 10.dp),
textAlign = TextAlign.End
)
}
Button(
onClick = { /*TODO*/ },
shape = RoundedCornerShape(15.dp),
colors = ButtonDefaults.buttonColors(containerColor = Color.White, contentColor = Color.Black)
)
{
Text(
text = "Войти",
fontSize = 22.sp
)
}
}
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun Login_Field(name: String, label: String){
var sample_text by remember { mutableStateOf("") }
Column (modifier = Modifier
.fillMaxWidth()
.padding(top = 10.dp)) {
Text(
text = name,
color = Color.White,
fontSize = 18.sp
)
TextField(
value = sample_text,
onValueChange = { sample_text = it},
label = {
Text(text = label)
},
modifier = Modifier
.fillMaxWidth(),
shape = RoundedCornerShape(15.dp)
)
}
}

View File

@ -8,4 +8,6 @@ val Pink80 = Color(0xFFEFB8C8)
val Purple40 = Color(0xFF6650a4)
val PurpleGrey40 = Color(0xFF625b71)
val Pink40 = Color(0xFF7D5260)
val Pink40 = Color(0xFF7D5260)
val MainBlue = Color(0xFF6583D2)