首页 > 解决方案 > 可以在单击按钮时更改特定 SVG 路径的颜色吗?

问题描述

我有一张带有不同省份路径的 SVG 国家地图。是否可以在单击按钮时更改特定路径(特定省份)的颜色?每个省份在 SVG 文件中都有唯一的名称和 ID。如有必要,我可以更改 SVG 文件。我不知道如何使用 Java 以编程方式定位路径。

SVG 看起来像这样:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:mapsvg="http://mapsvg.com"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   width="612.54211"
   height="723.61865">
  
  <path
     d="bla bla some code"
     title="A"
     id="province-1" />
<path
     d="bla bla some code"
     title="B"
     id="province-2" />
</svg>

提前致谢。

标签: javaandroidsvg

解决方案


是的当然。对于任何路径,您都可以设置填充属性以设置特定颜色。就像是 :

<path
     fill="#ffffff"
     d="bla bla some code"
     title="B"
     id="province-2" />
</svg>

但我没有使用 Java 制作的解决方案。在 JS 中,您可以获取带有标签、名称、id 和其他内容的元素,例如 document.QuerySelectorAll('svg') 或 document.getElementById('yourId') 等......


推荐阅读