Flutter svg 动画和操作

Flutter svg animation and manipulation

我有一张地图的 SVG 资产,我必须根据网络调用的结果更改其中一些城市的颜色。在网络上,人们通常会在每个路径中添加一个 class,给它一些 CSS,然后使用 JavaScript 切换 class。 如何在 flutter 中实现同样的效果?

新版本的 jovial_svg 可以做到这一点。它支持嵌入式样式表,因此您可以完全按照建议使用 CSS。当然,只要有变化,您就需要 re-parse SVG,但这在这里没什么大不了的。

或者,如果它只是一组城市,您可以使用 SVG 的 currentColor,并在适当的 ScalableImage 工厂中设置该值。但是对于您的用例,CSS 似乎是更好的选择。

注意:此时,CSS 支持在 pre-release 中,但它应该会在几天内作为 1.1.4 正式发布。同时,参见 https://pub.dev/packages/jovial_svg/versions/1.1.4-rc.3