Reference version

LazyColumn

用于显示可滚动列表的 Jetpack Compose LazyColumn 组件。

Android
Included in Expo Go
Bundled version:
~56.0.6

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

一种懒加载的垂直列表组件,只渲染可见项以实现高效滚动。更多信息请参阅 官方 Jetpack Compose 文档

LazyColumn 渲染一个包含五个 Material 3 列表项的设置列表

安装

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.

用法

基础懒加载列

BasicLazyColumn.tsx
import { Host, LazyColumn, ListItem } from '@expo/ui/jetpack-compose'; const items = Array.from({ length: 100 }, (_, i) => `Item ${i + 1}`); export default function BasicLazyColumn() { return ( <Host style={{ height: 400 }}> <LazyColumn> {items.map(item => ( <ListItem key={item} headline={item} /> ))} </LazyColumn> </Host> ); }

带排列方式

使用 verticalArrangement 属性来控制列表中各项之间的间距。传入像 'spaceBetween' 这样的字符串值,或像 { spacedBy: 8 } 这样的对象,以按 dp 设置固定间距。

LazyColumnArrangement.tsx
import { Host, LazyColumn, ListItem, Text } from '@expo/ui/jetpack-compose'; export default function LazyColumnArrangement() { return ( <Host style={{ height: 400 }}> <LazyColumn verticalArrangement={{ spacedBy: 8 }} horizontalAlignment="center"> <ListItem> <ListItem.HeadlineContent> <Text>间隔项 1</Text> </ListItem.HeadlineContent> </ListItem> <ListItem> <ListItem.HeadlineContent> <Text>间隔项 2</Text> </ListItem.HeadlineContent> </ListItem> <ListItem> <ListItem.HeadlineContent> <Text>间隔项 3</Text> </ListItem.HeadlineContent> </ListItem> </LazyColumn> </Host> ); }

带内容内边距

使用 contentPadding 属性为列表内容四周添加 dp 内边距。

LazyColumnPadding.tsx
import { Host, LazyColumn, ListItem } from '@expo/ui/jetpack-compose'; export default function LazyColumnPadding() { return ( <Host style={{ height: 400 }}> <LazyColumn contentPadding={{ start: 16, top: 8, end: 16, bottom: 8 }}> <ListItem> <ListItem.HeadlineContent>Padded item 1</ListItem.HeadlineContent> </ListItem> <ListItem> <ListItem.HeadlineContent>Padded item 2</ListItem.HeadlineContent> </ListItem> <ListItem> <ListItem.HeadlineContent>Padded item 3</ListItem.HeadlineContent> </ListItem> </LazyColumn> </Host> ); }

API

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

Component

LazyColumn

Android

Type: React.Element<LazyColumnProps>

A lazy column component that efficiently displays a vertically scrolling list.

LazyColumnProps

children

Android
Optional • Type: React.ReactNode

The content to display inside the lazy column.

contentPadding

Android
Optional • Type: ContentPadding

Content padding in dp.

horizontalAlignment

Android
Optional • Literal type: string

The horizontal alignment of items.

Acceptable values are: 'start' | 'end' | 'center'

modifiers

Android
Optional • Type: ExpoModifier[]

Modifiers for the component.

verticalArrangement

Android
Optional • Literal type: union

The vertical arrangement of items. Can be a preset string or an object with spacedBy to specify spacing in dp.

Acceptable values are: 'top' | 'bottom' | 'center' | 'spaceBetween' | 'spaceAround' | 'spaceEvenly' | { spacedBy: number }

Types

ContentPadding

Android

Content padding values for LazyColumn.

PropertyTypeDescription
bottom(optional)number

Bottom padding in dp.

end(optional)number

End padding in dp.

start(optional)number

Start padding in dp.

top(optional)number

Top padding in dp.