// TestCheckboxSwitch1 Example // Source code file: MainActivity.kt // Display the states of the checkbox and switch in the // Text element when the button is clicked. package it372.ssmith.testcheckboxswitch1 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 }, modifier = Modifier .padding(all = 30.dp) .size(width = 50.dp, height = 50.dp) ) Switch(checked = switchState.value, onCheckedChange = { switchState.value = it }, modifier = Modifier .padding(all = 30.dp) .size(width = 50.dp, height = 50.dp) ) Button(onClick = { var value1 = checkboxState.value var value2 = switchState.value textDisplay.value = "Checkbox: $value1; Switch: $value2" }) { Text(text = "Show Checkbox and Switch States") } 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( ) }