要动态更改Inkscape SVG的颜色,可以使用AndroidSVG库。下面是一个解决方法,包含代码示例:
dependencies {
implementation 'com.caverock:androidsvg:1.4'
}
SVG svg = SVGParser.getSVGFromAsset(context.getAssets(), "your_svg_file.svg");
SVGImageView svgImageView = findViewById(R.id.svgImageView);
svgImageView.setSVG(svg);
// 找到需要更改颜色的元素
SVGLocatable element = svg.getElementById("your_element_id");
setFillColor()
方法更改元素的颜色:element.setFillColor(Color.RED);
完整示例代码:
SVG svg = SVGParser.getSVGFromAsset(context.getAssets(), "your_svg_file.svg");
SVGImageView svgImageView = findViewById(R.id.svgImageView);
svgImageView.setSVG(svg);
// 找到需要更改颜色的元素
SVGLocatable element = svg.getElementById("your_element_id");
// 更改元素的颜色
element.setFillColor(Color.RED);
这样就可以动态更改Inkscape SVG的颜色了。