Lists

Lists are continuous, vertical indexes of elements. Use ScalingLazyColumn to create lists on Wear OS.

ScalingLazyColumn is a customization of LazyColumn that's built specifically for Wear OS. Lists offer scaling and transparency, which allows content to shrink and fade at the top and bottom of the screen to help users see what to focus on. Lists are anchored on the center of the screen, which gives additional emphasis to the items in the middle of the list.

Lists can contain items of fixed or variable height. List content should have margin enough to accommodate for circular screens.

Padding

Standardized Paddings are used when creating a list depending on the element. If further vertical padding is needed for more complex lists, spacing is set in multiples of 4 dp for consistency.

Between sections

Padding between top, middle and bottom section should be set to 16 dp.

Between titles and content

Padding between top, middle and bottom section should be set to 16 dp.

Between slots

Padding between slots in the middle section should be set to 16 dp.

Between groups

Padding between groups within a slot should be set to 8 dp.

Between elements

Padding between elements within a group should be set to 4 dp.

Snapping behavior

To give emphasis to a list item when scrolling, use snapping. Use snapping when items are tall but not taller than the screen.

Snapping behavior comes in two forms. ItemCenter uses the center of the item as a reference point. ItemStart uses the edge of the item as a reference point. Use the first to center one item on the screen, use the second to center two items on the screen. Set this behavior using the anchorType parameter.

For further control over the snapping behavior in a list, set flingBehavior to ScalingLazyColumnDefaults.snapFlingBehavior and rotaryScrollableBehavior to RotaryScrollableDefaults.snapBehavior.

Usage

See the following examples of how to use lists on watches.

Adaptive layouts

The following images show several examples of adaptive layouts. For implementation guidance, visit the develop for different screen sizes page.

Responsive behavior

Lists components stretch to fill the available width on larger displays.

Top margins

Top margins vary depending on which elements are in the top section.

List starts with Title

List starts with 1 or 2+ buttons

List starts with other elements

Bottom margins

Bottom margins vary depending on which elements are in the bottom section.

List ends with buttons

List ends with other elements

Side margins

Side margins uses a standard percentage of 5.2% across all list types to ensure scalability on larger displays.

Internal margins

Titles

There’s an added 7.3% internal margin to ensure titles don’t clip.

Bottom buttons

Bottom buttons fill the available width past the 225 breakpoint. To keep visual hierarchy, there’s an added internal padding of 14.56% on larger screens.