所以我使用了这个component,我试图找出一种方法,当它溢出(超过100%)时,使环与自身重叠,但要表明我们需要一个边框和阴影,无论动画环的头部在哪里。我已经将代码转换为JavaScript,所以我们需要在React Native的JavaScript中这样做。
<Svg
width={scaledWidth}
height={scaledHeight}
viewBox={viewBox}
style={{ position: "absolute" }}
>
<Defs>
<LinearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="0%">
<Stop offset="0%" stopColor={gradientEndColor} />
<Stop offset="100%" stopColor={gradientStartColor} />
</LinearGradient>
</Defs>
<G rotation={-90} originX="90" originY="90">
<Circle
cx="50%"
cy="50%"
r={radius + 5}
stroke="black"
fill="transparent"
strokeWidth={11}
/>
<Circle
cx="50%"
cy="50%"
r={radius}
stroke={bgColor}
fill="transparent"
strokeWidth="19"
/>
<AnimatedCircle
cx="50%"
cy="50%"
r={radius}
stroke="url(#gradient)"
fill="transparent"
strokeWidth="19"
strokeDasharray={circleCircumference}
strokeDashoffset={strokeDashoffset}
strokeLinecap="round"
/>
</G>
{customIcon(radius)}
</Svg>
字符串
我试过做一个圆,它可以创建一个球,并跟随动画圆的结尾,但不知道如何做到这一点。我也试过为strokeLinecap创建一个标记,但我认为它不支持。
基本上,我试图让这个功能完全像苹果活动戒指的手表。任何帮助将不胜感激。
1条答案
按热度按时间cyvaqqii1#
在这种情况下,没有花哨的解决方案,它只是努力工作,使其接缝,圆圈重叠本身。
在该示例中(对于每个圆/米)每个都由三个圆组成。中间的一个是米本身。笔划破折号数组改变值,直到它是一个完整的圆。从那里开始,圆只是旋转。为了使它看起来米本身重叠,在米下面和米上面有一个圆。它们具有相同的颜色,所以它看起来它们是一个,它们是一体的,米出现在顶部圆圈的梯度下。
为了使投影只出现在 Jmeter 的“前面”,有一个比 Jmeter 长一点的圆形遮罩。