Class ListViewItem
A versatile list item component that displays content with a title, subtitle, thumbnail, and optional actions.
Implements
Inherited Members
Namespace: Unity.AppUI.UI
Assembly: Unity.AppUI.dll
Syntax
public class ListViewItem : BaseVisualElement, IEventHandler, IResolvedStyle, ITransform, ITransitionAnimations, IExperimentalFeatures, IVisualElementScheduler, IContextOverrideElement, IAdditionalDataHolder
Remarks
ListViewItem is a flexible component designed to display content in a list format. It provides a consistent layout structure with support for leading (left) and trailing (right) content areas, making it perfect for displaying items in lists, menus, or selection interfaces.
The component supports various content elements including:
- A thumbnail image
- A primary title
- A secondary subtitle
- Leading and trailing containers for custom content
- A built-in options button
Note: ListViewItem comes with different size variants and loading states to accommodate various use cases and provide better user feedback during data loading.
Examples
Basic usage with title and subtitle — Creating a standard list item with title and subtitle.
var item = new ListViewItem
{
title = "Project Assets",
subtitle = "Contains 42 files",
size = Size.M
};
Advanced usage with custom content and loading state — Creating a rich list item with custom content, loading state, and event handling.
var item = new ListViewItem();
// Add custom badge to trailing container
var badge = new Badge ;
item.trailingContainer.Add(badge);
// Configure item properties
item.title = "Documentation";
item.subtitle = "Last updated: Today";
item.thumbnail = documentIcon;
// Handle options button click
item.optionsButton.clicked += () => ShowOptionsMenu();
// Show loading state
item.isLoading = true;
await LoadDataAsync();
item.isLoading = false;
Using ListViewItem in a UXML template — Declaring a ListViewItem in UXML.
<UXML xmlns:ui="Unity.AppUI.UI">
<ui:ListViewItem
title="Settings"
subtitle="Configure application preferences"
size="L"
/>
</UXML>
Constructors
ListViewItem()
Default constructor.
Declaration
public ListViewItem()
Fields
containerUssClassName
The ListViewItem's container USS class name.
Declaration
public const string containerUssClassName = "appui-listview-item__container"
Field Value
| Type | Description |
|---|---|
| string |
leadingContainerUssClassName
The ListViewItem's leading container USS class name.
Declaration
public const string leadingContainerUssClassName = "appui-listview-item__leading-container"
Field Value
| Type | Description |
|---|---|
| string |
loadingUssClassName
The ListViewItem's loading USS class name.
Declaration
public const string loadingUssClassName = "appui-listview-item--loading"
Field Value
| Type | Description |
|---|---|
| string |
optionsButtonUssClassName
The ListViewItem's options button USS class name.
Declaration
public const string optionsButtonUssClassName = "appui-listview-item__options-button"
Field Value
| Type | Description |
|---|---|
| string |
sizeUssClassName
The ListViewItem's size USS class name.
Declaration
public const string sizeUssClassName = "appui-listview-item--size-"
Field Value
| Type | Description |
|---|---|
| string |
subtitleUssClassName
The ListViewItem's subtitle USS class name.
Declaration
public const string subtitleUssClassName = "appui-listview-item__subtitle"
Field Value
| Type | Description |
|---|---|
| string |
thumbnailUssClassName
The ListViewItem's thumbnail USS class name.
Declaration
public const string thumbnailUssClassName = "appui-listview-item__thumbnail"
Field Value
| Type | Description |
|---|---|
| string |
titleUssClassName
The ListViewItem's title USS class name.
Declaration
public const string titleUssClassName = "appui-listview-item__title"
Field Value
| Type | Description |
|---|---|
| string |
trailingContainerUssClassName
The ListViewItem's trailing container USS class name.
Declaration
public const string trailingContainerUssClassName = "appui-listview-item__trailing-container"
Field Value
| Type | Description |
|---|---|
| string |
ussClassName
The ListViewItem's USS class name.
Declaration
public const string ussClassName = "appui-listview-item"
Field Value
| Type | Description |
|---|---|
| string |
Properties
contentContainer
Content container.
Declaration
public override VisualElement contentContainer { get; }
Property Value
| Type | Description |
|---|---|
| VisualElement |
Overrides
isLoading
The ListViewItem's loading state.
Declaration
public bool isLoading { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
leadingContainer
The ListViewItem's leading container.
Declaration
public VisualElement leadingContainer { get; }
Property Value
| Type | Description |
|---|---|
| VisualElement |
optionsButton
The ListViewItem's options button.
Declaration
public IconButton optionsButton { get; }
Property Value
| Type | Description |
|---|---|
| IconButton |
size
The ListViewItem's size.
Declaration
public Size size { get; set; }
Property Value
| Type | Description |
|---|---|
| Size |
subtitle
The ListViewItem's subtitle.
Declaration
public string subtitle { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
thumbnail
The ListViewItem's thumbnail.
Declaration
public Texture thumbnail { get; set; }
Property Value
| Type | Description |
|---|---|
| Texture |
title
The ListViewItem's title.
Declaration
public string title { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
trailingContainer
The ListViewItem's trailing container.
Declaration
public VisualElement trailingContainer { get; }
Property Value
| Type | Description |
|---|---|
| VisualElement |
Methods
GetSizeUssClassName(Size)
Declaration
public static string GetSizeUssClassName(Size enumValue)
Parameters
| Type | Name | Description |
|---|---|---|
| Size | enumValue |
Returns
| Type | Description |
|---|---|
| string |