android svg 使用方法及修改颜色

这篇博客分享了如何在Android项目中使用SVG图片并动态修改其颜色。首先介绍了将SVG转为XML的工具,然后通过代码展示了利用DataBinding和自定义BindingAdapter实现SVG颜色的改变。关键在于使用`mutable()`方法确保drawable可变,并通过`setTint`设置颜色。
摘要由CSDN通过智能技术生成

时隔3年,庆幸自己还在安卓开发这一行,也算是累计了些知识,现在在工作之余,也有些时间来记录些自己平时使用的一些技术,希望这次回来,可以捡起这份博客,写一些自己喜欢的内容。

最近在工作中,碰到了一个需要动态修改图片颜色的需求,网上也是查了不少资料,没有找到自己想要的,后来是在爬别人项目的代码中,才找到了动态修改android svg图片颜色的方式,现在容我一一道来

首先,想要在android项目中使用svg,需要将美工妹纸(我们这里为啥是个汉子o(╥﹏╥)o)提供的svg图片使用工具

链接: https://pan.baidu.com/s/1HvDHYVPfLIw1zho0NbKT3A 提取码: fvuq

转换成xml后才能使用(下载后,打开index.html即可)

接下来就是使用svg及修改颜色的重头戏,先贴代码

@BindingAdapter(value = {"model", "svgColor"})
    public static void loadVectorDrawable(ImageView imageView, String model, int svgColor){
        Drawable drawable = null;
        switch (model){
            case Constant.MODEL_ANDROID:
                //mutate,使当前drawable可变
                drawable = ContextCompat.getDrawable(imageView.getContext(), R.drawable.svg_and
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值