// ThreeButtons Example // Source code file: MainActivity.kt // Define a MyButton composable to represent three // Button elements with different text and onClick // parameters. package it372.ssmith.threetexts import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material3.Button import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import it372.ssmith.threetexts.ui.theme.ThreeTextsTheme class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { MainLayout( ) } } } @Composable fun MainLayout( ) { val textOutput = remember { mutableStateOf("") } Column(modifier = Modifier .padding(all = 50.dp)) { // Button A MyButton(caption = "Button A", clickListener = { textOutput.value = "Button A Clicked" }) // Button B MyButton(caption = "Button B", clickListener = { textOutput.value = "Button B Clicked" }) // Button C MyButton(caption = "Button C", clickListener = { textOutput.value = "Button C Clicked" }) Text(text = textOutput.value, fontSize = 25.sp) } } @Composable fun MyButton(caption : String, clickListener : ( ) -> Unit) { Button(clickListener, modifier = Modifier.padding(bottom = 30.dp)) { Text(text = caption, fontSize = 25.sp, color = Color.Red, modifier = Modifier.background(Color.White)) } } @Preview(showBackground = true) @Composable fun MainLayoutPreview() { MainLayout( ) }