gpt4 book ai didi

android - 我如何给这个 PictureDrawable 着色?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:17:40 25 4
gpt4 key购买 nike

我正在使用 svgandroid 从 SVG 原始资源生成 PictureDrawable。但是,我似乎无法在以这种方式创建的可绘制对象上应用滤色器。

使用 PNG 的旧代码

icon = getResources().getDrawable(R.drawable.ic_braille);
icon.setColorFilter(0x88880000, Mode.MULTIPLY);
((ImageView)v.findViewById(R.id.icon)).setImageDrawable(icon);

有效,但是

icon = SVGParser.getSVGFromResource(getResources(), R.raw.ic_braille).createPictureDrawable();
icon.setColorFilter(0x88880000, Mode.MULTIPLY);
((ImageView)v.findViewById(R.id.icon)).setImageDrawable(icon);

没有。我已经尝试在 Drawable 上、ImageView 上(在设置可绘制对象之后)、通过 XML 应用滤色器,甚至在将其设置为 ImageView 的可绘制对象后在 Drawable 上应用颜色过滤器,两者都适用于 PNG 但都不适用于图片可绘制对象。正如某些人所建议的那样,将 setImageDrawable 替换为 setBackgroundDrawable 根本不会呈现可绘制对象。我在 Androids 1.6、2.3、4.0 上运行代码,没有区别。我检查了 SVG 库的源代码,它在任何时候都没有触及滤色器。我究竟做错了什么?某些类型的可绘制对象是否无法着色?

最佳答案

使用 svg-android 的这个分支: https://github.com/japgolly/svg-android

它支持颜色过滤器。

关于android - 我如何给这个 PictureDrawable 着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13655917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com