List and Grid Overview
Many applications require scrollable views to display collections of similar items, such as images, videos, music, news, or products. Depending on the layout requirements, these scenarios can be implemented using List, Grid, or WaterFlow. For circular screens, ArcList is recommended.
List
The List component is ideal for single-column or multi-column layouts where columns have uniform widths. Common use cases include contact lists, music playlists, and shopping lists.
In scenarios like live comment feeds or instant messaging, where new data is appended to the bottom, the list should automatically scroll upward to reveal newly added items. This behavior can be enabled by configuring the List component to stack from the end.

Grid
A grid layout organizes items into rows and columns, allowing flexible positioning by specifying the target cell for each item. Typical use cases include image galleries, calendars, and calculators.
To support items that span multiple rows or columns, configure the grid using GridLayoutOptions.

Waterfall Flow
Waterfall flow is a multi-column layout where columns have equal width but items can vary in height. It is well-suited for staggered layouts such as image feeds, video previews, and product recommendations.
To support mixed layouts with varying column counts on the same page, use WaterFlowSections.

Arc List
An arc list is a specialized list designed for circular screens. It supports automatic scaling of items as they approach the top or bottom edges of the display.

Feature Comparison
| Feature | List | Grid | WaterFlow | ArcList |
|---|---|---|---|---|
| General scrolling capability | Supported | Supported | Supported | Supported |
| Item grouping | ListItemGroup | GridLayoutOptions | WaterFlowSections | Not supported |
| Sticky headers | Supported via the sticky attribute | Not supported | Not supported | Not supported |
| Drag-and-drop sorting | Supported with drag-and-drop sorting, including animations and automatic scrolling when dragged to the edge | Supported with built-in animations (only when all items occupy 1 row and 1 column), and no automatic scrolling when dragged to the edge | Not supported | Not supported |
| Swipe actions | Supported via the swipeAction attribute | Not supported | Not supported | Not supported |
| Item spacing | Supported | Supported | Supported | Supported |
| Item dividers | Supported | Not supported | Not supported | Not supported |