Загрузка данных
package com.example.myapplication
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import com.example.myapplication.ui.theme.MyApplicationTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyApplicationTheme {
MainScreen()
}
}
}
}
@Composable
fun MainScreen() {
var option1 by remember { mutableStateOf(false) }
var option2 by remember { mutableStateOf(false) }
var option3 by remember { mutableStateOf(false) }
var showDialog by remember { mutableStateOf(false) }
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
modifier = Modifier
.fillMaxSize()
.padding(16.dp)
) {
Card(
modifier = Modifier.fillMaxWidth(),
elevation = CardDefaults.cardElevation(4.dp),
shape = RoundedCornerShape(12.dp)
) {
Column(
modifier = Modifier.padding(16.dp)
) {
Text(
text = "Сохраненный результат",
style = MaterialTheme.typography.titleMedium
)
Spacer(modifier = Modifier.height(12.dp))
Text(
text = "Опция 1: ${if (option1) "выбрано" else "не выбрано"}"
)
Text(
text = "Опция 2: ${if (option2) "выбрано" else "не выбрано"}"
)
Text(
text = "Опция 3: ${if (option3) "выбрано" else "не выбрано"}"
)
}
}
Spacer(modifier = Modifier.height(24.dp))
Button(
onClick = { showDialog = true },
modifier = Modifier.fillMaxWidth()
) {
Text("Открыть диалоговое окно")
}
}
}
if (showDialog) {
Dialog(onDismissRequest = { showDialog = false }) {
Card(
modifier = Modifier
.fillMaxWidth()
.padding(20.dp),
shape = RoundedCornerShape(16.dp),
elevation = CardDefaults.cardElevation(8.dp)
) {
Column(
modifier = Modifier.padding(20.dp)
) {
Text(
text = "Выберите опции",
style = MaterialTheme.typography.titleLarge
)
Spacer(modifier = Modifier.height(20.dp))
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth()
) {
Checkbox(
checked = option1,
onCheckedChange = { option1 = it }
)
Text(
text = "Опция 1",
modifier = Modifier.padding(start = 8.dp)
)
}
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth()
) {
Checkbox(
checked = option2,
onCheckedChange = { option2 = it }
)
Text(
text = "Опция 2",
modifier = Modifier.padding(start = 8.dp)
)
}
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth()
) {
Checkbox(
checked = option3,
onCheckedChange = { option3 = it }
)
Text(
text = "Опция 3",
modifier = Modifier.padding(start = 8.dp)
)
}
Spacer(modifier = Modifier.height(24.dp))
Button(
onClick = { showDialog = false },
modifier = Modifier.fillMaxWidth()
) {
Text("Сохранить и закрыть")
}
}
}
}
}
}