我对设计有意见。
这就是设计:
有没有什么方法可以像这样在进度条的顶部添加一个圆圈?
使用react-native-circular-progress库。
我几乎都用图书馆的 prop 。
这是我的代码:
const Progress = ({fill}: Types) => {
const {translations} = useContext(LocalizationContext);
return (
<>
<View style={PropertyDetailStyles.dailyCapWrapper}>
<AnimatedCircularProgress
size={240}
fill={fill}
arcSweepAngle={181}
rotation={270}
lineCap="round"
tintColor={fill >= 100 ? TERTIARY_YELLOW : SECONDARY_BLUE}
backgroundColor={TERTIARY_GREY}
width={10}
backgroundWidth={10}
duration={1000}
children={() => {
return (
<Text style={PropertyDetailStyles.dailyCapText}>
{fill >= 100
? translations.visitDetail.dayPassUnLock
: translations.visitDetail.dayPass}
</Text>
);
}}
childrenContainerStyle={
PropertyDetailStyles.dailyCapChildrenContainer
}
/>
<Image
style={PropertyDetailStyles.dailyCapImage}
source={
fill >= 100
? require('../../../../../assets/image/lineProgressMax.png')
: require('../../../../../assets/image/lineProgress.png')
}
/>
</View>
</>
);
};
export default Progress;
1条答案
按热度按时间kuhbmx9i1#
你需要使用组件属性
renderCap
,它只接受一个自定义的SVG元素。所以你可以从react-native-svg
库导入Circle
组件,并执行以下操作:通过将此属性应用于您的组件,您将能够获得所需的结果。请查看here的实时演示。