import android.os.Bundle
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
ModifierBasicsScreen()
}
}
}
@Composable
fun ModifierBasicsScreen() {
val context = LocalContext.current
Box(
modifier = Modifier
.padding(16.dp)
.size(width = 200.dp, height = 60.dp)
.clickable {
Toast.makeText(context, "Text clicked!", Toast.LENGTH_SHORT).show()
}
) {
Text(text = "Click Me")
}
}We use Modifier.padding(16.dp) to add space around the Text so it doesn't touch the edges.
The Modifier.size(200.dp, 60.dp) sets the width and height of the Box containing the Text.
The Modifier.clickable makes the Box respond to taps. When tapped, it shows a Toast message "Text clicked!" using the current context.
This demonstrates how to chain modifiers to control layout and interaction in Jetpack Compose.