如何在react-native中显示动画svg?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在react-native中显示动画svg?相关的知识,希望对你有一定的参考价值。
如何在本机显示动画svg(带有关键帧)?目前,我只能显示静态SVG。
似乎react-native-svg仅能显示静态svg。
这里是SVG的摘要:
const xml = `<svg
version="1.1"
xmlns="http://www.w3.org/2000/svg"
width="64"
height="64"
viewbox="0 0 64 64">
<defs>
<filter id="blur" width="200%" height="200%">
<feGaussianBlur in="SourceAlpha" stdDeviation="3"/>
<feOffset dx="0" dy="4" result="offsetblur"/>
<feComponentTransfer>
<feFuncA type="linear" slope="0.05"/>
</feComponentTransfer>
<feMerge>
<feMergeNode/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<style type="text/css"><![CDATA[
/*
** CLOUDS
*/
@keyframes am-weather-cloud-2
0%
-webkit-transform: translate(0px,0px);
-moz-transform: translate(0px,0px);
-ms-transform: translate(0px,0px);
transform: translate(0px,0px);
50%
-webkit-transform: translate(2px,0px);
-moz-transform: translate(2px,0px);
-ms-transform: translate(2px,0px);
transform: translate(2px,0px);
100%
-webkit-transform: translate(0px,0px);
-moz-transform: translate(0px,0px);
-ms-transform: translate(0px,0px);
transform: translate(0px,0px);
.am-weather-cloud-2
-webkit-animation-name: am-weather-cloud-2;
-moz-animation-name: am-weather-cloud-2;
animation-name: am-weather-cloud-2;
-webkit-animation-duration: 3s;
-moz-animation-duration: 3s;
animation-duration: 3s;
-webkit-animation-timing-function: linear;
-moz-animation-timing-function: linear;
animation-timing-function: linear;
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
animation-iteration-count: infinite;
...
<SvgXml xml=xml width="100%" height="100%" />
答案
在本地显示SVG
Use react-native-svg or lottie-react-native
另一答案
我的建议是签出react native的lottie包,如果您可以将动画转换为lottie文件json,那么将很容易显示
以上是关于如何在react-native中显示动画svg?的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 react-native-svg 或 Svg/expo 让 Svg 显示在 react-native 中
如何使用 JQuery 控制基于 CSS 的 SVG 动画?