Код: Выделить всё
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
enum class CalculationScreens {
ChooseLevel,
Addition
}
@Composable
fun ActivityChoice(
navController: NavHostController = rememberNavController()
) {
Scaffold() { innerPadding ->
NavHost(
navController = navController,
startDestination = CalculationScreens.ChooseLevel.name
) {
composable(route = CalculationScreens.ChooseLevel.name) {
ChooseLevel(
onButtonLevelClicked = {
navController.navigate(CalculationScreens.Addition.name)
},
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
)
}
composable(route = CalculationScreens.Addition.name) {
AdditionScreen(
level = "easy",
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
)
}
composable(route = CalculationScreens.Addition.name) {
AdditionScreen(
level = "medium",
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
)
}
}
}
}
< /code>
Страница с двумя кнопками: < /p>
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.widthIn
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.unit.dp
@Composable
fun ChooseLevel(
onButtonLevelClicked: () -> Unit,
modifier: Modifier = Modifier
) {
Column(
modifier = modifier,
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Button(
onClick = onButtonLevelClicked,
Modifier.widthIn(min = 250.dp)
) {
Text("Easy")
}
Button(
onClick = onButtonLevelClicked,
Modifier.widthIn(min = 250.dp)
) {
Text("Medium")
}
}
}
< /code>
Можно ли передать переменную (levelПодробнее здесь: https://stackoverflow.com/questions/796 ... parameters