在android中动态更改SVG图像颜色

在android中动态更改SVG图像颜色,第1张

概述我知道使用第三方库,可以在Android中使用SVG图像.图书馆如:svg-android加载SVG图像的代码如下:publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//CreateanewImageViewImageViewimageView=newImageView(this);

我知道使用第三方库,可以在Android中使用SVG图像.
图书馆如:svg-android

加载SVG图像的代码如下:

 public voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    // Create a new ImageVIEw    ImageVIEw imageVIEw = new ImageVIEw(this);    // Set the background color to white    imageVIEw.setBackgroundcolor(color.WHITE);    // Parse the SVG file from the resource    SVG svg = SVGParser.getSVGFromresource(getResources(), R.raw.androID);    // Get a drawable from the parsed SVG and set it as the drawable for the ImageVIEw    imageVIEw.setimageDrawable(svg.createPictureDrawable());    // Set the ImageVIEw as the content vIEw for the Activity    setContentVIEw(imageVIEw);}

它工作正常.我能看到图像.但现在我想在运行时更改svg图像的颜色.
为此我尝试了相同项目描述中提到的下面的代码.

  // 0xFF9FBF3B is the hex code for the existing AndroID green, 0xFF1756c9 is the new blue color    SVG svg = SVGParser.getSVGFromresource(getResources(), R.raw.androID, 0xFF9FBF3B, 0xFF1756c9);

但有了这个,我无法看到颜色的变化.所以我想知道如何在Java文件中动态更改颜色.

解决方法:

我知道这有点晚了,但我也有这个问题,并且能够使用setColorFilter(int color, PorterDuff.Mode mode)方法解决这个问题.

例:

imageVIEw.setcolorFilter(getResources().getcolor(androID.R.color.black), PorterDuff.Mode.SRC_IN);
总结

以上是内存溢出为你收集整理的在android中动态更改SVG图像颜色全部内容,希望文章能够帮你解决在android中动态更改SVG图像颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1098227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存