import React, { forwardRef, useState } from 'react'; import { View, Text } from 'react-native'; import type { LayoutChangeEvent } from 'react-native'; import { useThemeFactory } from '../Theme'; import type { ProgressProps } from './type'; import { createStyle } from './style'; const Progress = forwardRef((props, ref) => { const { style, percentage = 0, showPivot = true, pivotText, ...extra } = props; const { styles } = useThemeFactory(createStyle, { ...extra, percentage }); const [pivotWidth, setPivotWidth] = useState(0); // 获取进度文字的宽度 const onPivotLayout = (event: LayoutChangeEvent) => { setPivotWidth(event.nativeEvent.layout.width); }; return ( {showPivot && ( {pivotText ?? `${percentage}%`} )} ); }); Progress.displayName = 'Progress'; export default Progress;