Reference version

This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

分隔线

用于创建视觉分隔符的 Jetpack Compose 分隔线组件。

Android
Included in Expo Go
Recommended version:
~58.0.1

Expo UI 提供 HorizontalDivider 和 VerticalDivider,与官方 Jetpack Compose Divider API 相匹配。

由水平 Material 3 分隔线隔开的三个文本部分由水平 Material 3 分隔线隔开的三个文本部分

安装

Terminal
- npx expo install @expo/ui
- yarn expo install @expo/ui
- pnpm expo install @expo/ui
- bun expo install @expo/ui

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

用法

水平分隔线

一条细水平线,用于在列表和布局中直观地分隔内容。

HorizontalDividerExample.tsx
import { Host, HorizontalDivider, Column, Text, useMaterialColors, } from '@expo/ui/jetpack-compose'; export default function HorizontalDividerExample() { const colors = useMaterialColors(); return ( <Host style={{ flex: 1 }}> <Column> <Text style={{ fontSize: 28 }} color={colors.onBackground}> First section </Text> <HorizontalDivider /> <Text style={{ fontSize: 28 }} color={colors.onBackground}> Second section </Text> </Column> </Host> ); }

自定义粗细和颜色

HorizontalDivider 和 VerticalDivider 都接受 thickness 和 color 属性。使用 StyleSheet.hairlineWidth 创建单像素线条,或设置自定义粗细和颜色。

CustomDividerExample.tsx
import { Host, HorizontalDivider, Column, Text, useMaterialColors, } from '@expo/ui/jetpack-compose'; import { StyleSheet } from 'react-native'; export default function CustomDividerExample() { const colors = useMaterialColors(); return ( <Host style={{ flex: 1 }}> <Column> <Text style={{ fontSize: 28 }} color={colors.onBackground}> Hairline divider (1 pixel) </Text> <HorizontalDivider thickness={StyleSheet.hairlineWidth} /> <Text style={{ fontSize: 28 }} color={colors.onBackground}> Thick colored divider </Text> <HorizontalDivider thickness={4} color="#E91E63" /> <Text style={{ fontSize: 28 }} color={colors.onBackground}> Below </Text> </Column> </Host> ); }

垂直分隔线

一条垂直线,用于在行布局中分隔并排的项目。

VerticalDividerExample.tsx
import { Host, VerticalDivider, Row, Text, useMaterialColors, } from '@expo/ui/jetpack-compose'; import { height } from '@expo/ui/jetpack-compose/modifiers'; export default function VerticalDividerExample() { const colors = useMaterialColors(); return ( <Host matchContents> <Row verticalAlignment="center" horizontalArrangement={{ spacedBy: 16 }} modifiers={[height(48)]}> <Text style={{ fontSize: 28 }} color={colors.onBackground}> Left </Text> <VerticalDivider /> <Text style={{ fontSize: 28 }} color={colors.onBackground}> Right </Text> </Row> </Host> ); }

API

import { HorizontalDivider, VerticalDivider, } from '@expo/ui/jetpack-compose';

Components

HorizontalDivider

Android

Type: React.Element<ComponentType<DividerCommonConfig>>

A horizontal divider line that groups content in lists and layouts, matching Compose's HorizontalDivider.

VerticalDivider

Android

Type: React.Element<ComponentType<DividerCommonConfig>>

A vertical divider line that groups content in layouts, matching Compose's VerticalDivider.

Types

DividerCommonConfig

Android
PropertyTypeDescription
color(optional)ColorValue

Color of the divider line.

modifiers(optional)ModifierConfig[]

Modifiers for the component.

thickness(optional)number

Thickness of the divider line. Accepts dp values; use StyleSheet.hairlineWidth for a single-pixel line.