// TestCheckboxSwitch2 Example // Source code file: MainActivity.kt // Display the current states of the checkbox and // switch in the Text element when the states change. package it372.ssmith.testcheckboxswitch2 import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.material3.Button import androidx.compose.material3.Checkbox import androidx.compose.material3.Switch import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { MainLayout( ) } } } @Composable fun MainLayout( ) { // State variables for composables var checkboxState = remember { mutableStateOf(false) } var switchState = remember { mutableStateOf(false) } var textDisplay = remember { mutableStateOf("") } Column(Modifier.padding(all = 50.dp), horizontalAlignment = Alignment.CenterHorizontally) { Checkbox(checked = checkboxState.value, onCheckedChange = { checkboxState.value = it var value1 = checkboxState.value var value2 = switchState.value textDisplay.value = "Checkbox: $value1; Switch: $value2" }, modifier = Modifier .padding(all = 30.dp) .size(width = 50.dp, height = 50.dp) ) Switch(checked = switchState.value, onCheckedChange = { switchState.value = it var value1 = checkboxState.value var value2 = switchState.value textDisplay.value = "Checkbox: $value1; Switch: $value2" }, modifier = Modifier .padding(all = 30.dp) .size(width = 50.dp, height = 50.dp) ) Text(text = textDisplay.value , Modifier .padding(all = 30.dp) .size(width=200.dp, height=100.dp), fontSize = 25.sp) } } @Preview(showBackground = true) @Composable fun GreetingPreview() { MainLayout( ) }