Start native apps faster with the Composables CLI ->
Compose Component

ListSubHeader

A two slot based composable for creating a list sub-header item.

ListSubHeader social preview

ListHeaderSample

@Preview
@Composable
fun ListHeaderSample() {
    val transformationSpec = rememberTransformationSpec()
    val scrollState = rememberTransformingLazyColumnState()
    AppScaffold {
        ScreenScaffold(scrollState = scrollState) { contentPadding ->
            TransformingLazyColumn(
                state = scrollState,
                modifier = Modifier.fillMaxSize(),
                horizontalAlignment = Alignment.CenterHorizontally,
                contentPadding = contentPadding,
            ) {
                item {
                    ListHeader(
                        modifier =
                            Modifier.minimumVerticalContentPadding(
                                    ListHeaderDefaults.minimumTopListContentPadding,
                                    ListHeaderDefaults.minimumBottomListContentPadding,
                                )
                                .transformedHeight(this, transformationSpec),
                        transformation = SurfaceTransformation(transformationSpec),
                    ) {
                        Text("Settings")
                    }
                }
                item {
                    ListSubHeader(
                        modifier =
                            Modifier.minimumVerticalContentPadding(
                                    ListHeaderDefaults.minimumTopListContentPadding,
                                    ListHeaderDefaults.minimumBottomListContentPadding,
                                )
                                .transformedHeight(this, transformationSpec),
                        transformation = SurfaceTransformation(transformationSpec),
                        icon = {
                            Icon(
                                painter = painterResource(R.drawable.ic_connectivity),
                                contentDescription = "Connectivity",
                            )
                        },
                        label = { Text("Connectivity") },
                    )
                }
                item {
                    Button(
                        modifier =
                            Modifier.fillMaxWidth()
                                .minimumVerticalContentPadding(
                                    ButtonDefaults.minimumVerticalListContentPadding
                                )
                                .transformedHeight(this, transformationSpec),
                        transformation = SurfaceTransformation(transformationSpec),
                        onClick = {},
                        icon = {
                            Icon(
                                painter = painterResource(R.drawable.ic_bluetooth),
                                contentDescription = "Bluetooth",
                                modifier = Modifier.size(ButtonDefaults.IconSize),
                            )
                        },
                    ) {
                        Text("Bluetooth")
                    }
                }
                item {
                    Button(
                        modifier =
                            Modifier.fillMaxWidth()
                                .minimumVerticalContentPadding(
                                    ButtonDefaults.minimumVerticalListContentPadding
                                )
                                .transformedHeight(this, transformationSpec),
                        transformation = SurfaceTransformation(transformationSpec),
                        onClick = {},
                        icon = {
                            Icon(
                                painter = painterResource(R.drawable.ic_wifi),
                                contentDescription = "Wifi",
                                modifier = Modifier.size(ButtonDefaults.IconSize),
                            )
                        },
                    ) {
                        Text("Wifi")
                    }
                }
                item {
                    ListSubHeader(
                        modifier =
                            Modifier.minimumVerticalContentPadding(
                                    ListHeaderDefaults.minimumTopListContentPadding,
                                    ListHeaderDefaults.minimumBottomListContentPadding,
                                )
                                .transformedHeight(this, transformationSpec),
                        transformation = SurfaceTransformation(transformationSpec),
                    ) {
                        Text("Display")
                    }
                }
                item {
                    Button(
                        modifier =
                            Modifier.fillMaxWidth()
                                .minimumVerticalContentPadding(
                                    ButtonDefaults.minimumVerticalListContentPadding
                                )
                                .transformedHeight(this, transformationSpec),
                        transformation = SurfaceTransformation(transformationSpec),
                        onClick = {},
                    ) {
                        Text("Change Watchface")
                    }
                }
                item {
                    Button(
                        modifier =
                            Modifier.fillMaxWidth()
                                .minimumVerticalContentPadding(
                                    ButtonDefaults.minimumVerticalListContentPadding
                                )
                                .transformedHeight(this, transformationSpec),
                        transformation = SurfaceTransformation(transformationSpec),
                        onClick = {},
                    ) {
                        Text("Brightness")
                    }
                }
            }
        }
    }
}

Last updated: