SVG在低版本ImageView中的兼容

最近写了一个svg动画,显示在<ImageView>中,svg是5.0以上新引入的特性,在低版本中需要做好兼容,否则运行在低版本上程序会直接crash。

针对这个问题,网上的教程主要分为以下三步:

  • 使用较新版本的v7兼容库23.2.0
  • 在build里加一行代码
  • 在xml中使用app:srcCompat代替android:src

但是发现虽然能跑起来,但svg直接没有显示了,看不到。
在谷歌官网看了一下兼容库的历史更新信息,发现了下面的更新说明:
这里写图片描述
红框中的信息让我眼前一亮,感觉有戏了,在onCreate()中加入上述相应代码,发现还是没用……

看了一下红框中的源码,有了意外发现, 果断用AppCompatImageView代替了ImageView,bingo!

而且在5.0上的运行效果也比之前好了,原先静态时不显示的两条线也能看见了,简直6666666!

最后总结这次成功兼容的步骤 (注意gradle版本要在2.0以上)

  1. 引入新的兼容库 compile 'com.android.support:appcompat-v7:23.2.0'或者比这还新的
  2. build.gradle中加入以下一行代码
	defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
  1. 在 xml 中使用AppCompatImageView代替ImageView
  2. AppCompatImageView中使用app:srcCompat代替android:src
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值