List

A grouped set of rows that organizes related content and settings.

list-image-android

Usage

A list organizes related items into rows that are easy to scan and compare. Use it when people need to browse content, navigate to details, or choose from several options. Add a header when rows need a shared label, and let people collapse long groups when they aren’t in use.

  • Keep each row to a single, clear item or action.
  • Use a header when a group of rows shares a purpose worth naming. Make longer or less frequently used groups collapsible.
  • Break a screen into groups where the subject changes, and mark that break with a single divider.
  • Hide the main action of a screen in a row (use a button or a FAB).
  • Mix category icons and site favicons down one column.
  • Lean on the second line to carry meaning the first line should be carrying on its own.
  • Separate every row with a divider. Once everything is divided, nothing reads as grouped.

Design properties

List
Property Values Default
Show header icon Boolean true | false undefined
Header icon InstanceSwap Header icon 74540:1560
Header Boolean true | false undefined
List Item
Property Values Default
Type Variant Label only | Label + description | Label + multi-line description | Link Label + multi-line description
State InstanceSwap State .state-layer-enabled
Show divider Boolean true | false undefined
Leading icon InstanceSwap Leading icon 1791:5634
Leading Variant None | Icon | Favicon | Checkbox | Radio button None
Show leading icon Boolean true | false true
Show checkbox Boolean true | false true
Show radio button Boolean true | false true
Trailing Variant None | Icon | Switch None
Trailing icon InstanceSwap Trailing icon 1844:7
Show leading favicon Boolean true | false true

List options

Default

Use when the list stands on its own and doesn’t need a title or context above the items.

With header

Use when the list needs a title or context above the items.

Collapsible header

Use when the list needs collapse or expand functionality.

List item types

These belong to the list item, a nested component, rather than to the list.

Label only

Use when the label alone is all that’s needed, which keeps a long list quick to scan.

Label + description

Use when a row needs one short line of context under the label. The description holds a single line and truncates beyond it.

Label + multi-line description

Use when the context will not fit on one line. The description wraps instead of truncating.

Typically used in Settings, pair with a related list item when additional guidance or information lives outside the app. See Link for more guidelines.

List item options

These belong to the list item, a nested component, rather than to the list. Any item can carry any combination of these.

Leading elements

Use a category icon or a site favicon to identify what a row is, or a checkbox or a radio button when the row is one choice in a set. The leading icon can be swapped out with other icons but should not indicate an action, only the trailing icon does that. The default is no leading element.

Trailing elements

Use a trailing icon to perform an action or a switch to change a setting in place. The trailing icon can be swapped out with other icons to perform different actions. The default is no trailing element.

With divider

Use a divider to mark where one group of rows ends and the next begins, rather than under every row.

Behavior and interaction

Behavior

  • When a row carries a checkbox, radio button, or switch, the whole row is the target, label included, so nobody has to aim for the control.
  • A trailing icon keeps its own touch target, separate from the rest of the row, so the row and the icon can function differently.
  • In lists like History, Bookmarks, and Downloads, touching and holding a row starts a multi-select, so several items can be acted on at once.

Positioning

  • Rows run edge to edge in their container and stop widening at 600dp, so a tablet gets a readable column rather than a stretched one.

Changelog

Date

Version

Notes

Sep 10, 2026

1.0.0

Initial draft of guidance