ListItem

用于显示结构化列表项的 Jetpack Compose ListItem 组件。

Android
Bundled version:
~55.0.15

For the complete documentation index, see llms.txt. Use this file to discover all available pages.

Expo UI ListItem 与官方 Jetpack Compose ListItem API 匹配,用于具有标题、辅助、上标、前置和后置内容槽的结构化列表条目。

安装

🌐 Installation

Terminal
npx expo install @expo/ui

If you are installing this in an existing React Native app, make sure to install expo in your project.

用法

🌐 Usage

基本列表项

🌐 Basic list item

BasicListItem.tsx
import { Host, ListItem, Text } from '@expo/ui/jetpack-compose'; export default function BasicListItem() { return ( <Host matchContents> <ListItem> <ListItem.HeadlineContent> <Text>Settings</Text> </ListItem.HeadlineContent> </ListItem> </Host> ); }

带复合组件

🌐 With compound components

在每个位置使用复合组件以实现丰富内容。

🌐 Use compound components for rich content in each position.

ListItemWithCompoundComponent.tsx
import { Host, ListItem, Icon, Text } from '@expo/ui/jetpack-compose'; export default function ListItemWithSlots() { return ( <Host matchContents> <ListItem> <ListItem.HeadlineContent> <Text>Notifications</Text> </ListItem.HeadlineContent> <ListItem.OverlineContent> <Text>ACCOUNT</Text> </ListItem.OverlineContent> <ListItem.SupportingContent> <Text>Manage notification preferences</Text> </ListItem.SupportingContent> <ListItem.LeadingContent> <Icon source={require('./assets/notifications.xml')} /> </ListItem.LeadingContent> <ListItem.TrailingContent> <Icon source={require('./assets/chevron.xml')} /> </ListItem.TrailingContent> </ListItem> </Host> ); }

可点击的列表项

🌐 Clickable list item

使用 clickable 修饰符来处理点击交互。

🌐 Use the clickable modifier to handle tap interactions.

ClickableListItem.tsx
import { Host, ListItem, Text } from '@expo/ui/jetpack-compose'; import { clickable } from '@expo/ui/jetpack-compose/modifiers'; export default function ClickableListItem() { return ( <Host matchContents> <ListItem modifiers={[clickable(() => console.log('Tapped!'))]}> <ListItem.HeadlineContent> <Text>Tap me</Text> </ListItem.HeadlineContent> </ListItem> </Host> ); }

自定义标题内容

🌐 Custom headline content

使用 ListItem.HeadlineContent 用于可组合的标题内容,例如带图标的行。

🌐 Use ListItem.HeadlineContent for composable headline content like rows with icons.

ListItemCustomHeadline.tsx
import { Host, ListItem, Text, Row, Icon } from '@expo/ui/jetpack-compose'; export default function ListItemCustomHeadline() { return ( <Host matchContents> <ListItem> <ListItem.HeadlineContent> <Row horizontalArrangement={{ spacedBy: 8 }} verticalAlignment="center"> <Text>Premium Feature</Text> <Icon source={require('./assets/star.xml')} size={16} /> </Row> </ListItem.HeadlineContent> </ListItem> </Host> ); }

应用接口

🌐 API

import { ListItem } from '@expo/ui/jetpack-compose';

Component

ListItem

Android

Type: React.Element<ListItemProps>

A list item matching Compose's ListItem.

ListItemProps

children

Android
Optional • Type: React.ReactNode

Children containing slot sub-components.

colors

Android
Optional • Type: ListItemColors

Colors for list item elements.

modifiers

Android
Optional • Type: ModifierConfig[]

Modifiers for the component.

shadowElevation

Android
Optional • Type: number • Default: ListItemDefaults.Elevation

Shadow elevation in dp.

tonalElevation

Android
Optional • Type: number • Default: ListItemDefaults.Elevation

Tonal elevation in dp.

Types

ListItemColors

Android

Colors for list item elements, matching ListItemDefaults.colors().

PropertyTypeDescription
containerColor(optional)ColorValue
-
contentColor(optional)ColorValue
-
leadingContentColor(optional)ColorValue
-
overlineContentColor(optional)ColorValue
-
supportingContentColor(optional)ColorValue
-
trailingContentColor(optional)ColorValue
-