Buttons, Images & Material 3

Material 3: Compose's design system

The Text and containers you've used so far are layout primitives. Material 3 (androidx.compose.material3) is the layer on top: ready-made, styled composables β€” Button, Card, Icon, Scaffold β€” that follow Google's design guidelines out of the box. PawWalk restyles their colors and type (Module 06), but the shapes and behavior come free from Material 3.

A Button needs two things: what happens on tap, and what it looks like inside. Compose expresses "what happens on tap" as a trailing lambda β€” the onClick parameter, called with no arguments when the user taps β€” and "what it looks like" as a trailing content lambda, the composable(s) to draw inside the button: