【发布时间】:2019-09-04 04:03:10
【问题描述】:
我正在使用react-native-svg。 我想围绕另一个更大的圆圈制作一个小圆圈的动画。这个问题类似于this one。 动画与任何手势无关,而是与时间相关。旋转应该在几秒钟内完成一个预定义的延迟,并且应该尽可能平滑。是否可以使用 react-native-svg 做到这一点?
为了完整,我不得不说还有其他小圆圈每秒钟都在绘制。这已经通过每秒改变状态来起作用。但是我当然不会通过改变状态来制作动画,对吗?
这是我目前在 render() 中的 JSX 代码:
<Svg style={{ alignContent: 'center' }}
height="200"
width="200">
<Circle
cx="100"
cy="100"
r="56"
stroke="black"
strokeWidth="2"
strokeOpacity="1"
fillOpacity="0"
/>
{
/* Bubules (little circles) goes here*/
this.bubbles()
}
</Svg>
还有 typescript bubbles() 方法:
bubbles(): React.ReactNode {
var elements = [];
for (let tuple of this.state.lorenzPlotData) {
let color = tuple === this.state.lorenzPlotData.tail ? "red" : "black";
// We need to normalize data
elements.push(<Circle key={tuple[0]} cx={this.normalizePlot(tuple[1])} cy={this.normalizePlot(tuple[2])} r="4" fill={color} fillOpacity="1" />);
}
return elements;
}
任何帮助表示赞赏。
【问题讨论】:
-
stackoverflow.com/a/18736137/9994657。这看起来很相似。试试看?
-
我不能使用 CSS。我没有在浏览器中运行。
-
看来代码可以转成JS了。将尝试并在此处发布。
标签: react-native animation react-native-svg