Как сложить значения из разных OutlinedTextField в Jetpack Compose
Мне нужно в приложении посчитать площадь фигуры длинна и высота(если точнее, но неважно диаметр и высота цилиндра) Высота вводится в одном окне ввода, а диаметр в другом. Графику приложения скидывать смысла нет.
Ответы (1 шт):
Автор решения: Андрей Никитин
→ Ссылка
Сначала добавим зависимости:
dependencies
implementation("androidx.compose.ui:ui:1.5.4")
implementation("androidx.compose.material:material:1.5.4")
Далее в setContent помещаем MyApp().
А вот и сама MyApp:
@Composable
fun MyApp() {
MaterialTheme {
Column(
modifier = Modifier.padding(16.dp),
verticalArrangement = Arrangement.spacedBy(16.dp)
) {
// Поля ввода
val number1 = remember { mutableStateOf("") }
val number2 = remember { mutableStateOf("") }
OutlinedTextField(
value = number1.value,
onValueChange = { number1.value = it },
label = { Text("Number 1") },
keyboardOptions = KeyboardOptions(keyboardType = Number)
)
OutlinedTextField(
value = number2.value,
onValueChange = { number2.value = it },
label = { Text("Number 2") },
keyboardOptions = KeyboardOptions(keyboardType = Number)
)
// Кнопка умножения
val result = remember { mutableStateOf(0f) }
Button(onClick = {
val num1 = number1.value.toFloatOrNull() ?: 0f
val num2 = number2.value.toFloatOrNull() ?: 0f
val multiplyResult = num1 * num2
result.value = multiplyResult
})
{
Text("Multiply")
}
// Результат
Text("Result: ${result.value}")
}
}
}