Android工程使用SVG图片

一、Android studio与svg

参考:https://developer.android.google.cn/studio/write/vector-asset-studio.html

svg全称scalable Vector Graphics,可缩放矢量图,svg不会像位图一样因缩放而让图片质量下降。优点在于节省空间和内存。常用语简单小图标。

svg是由xml文件定义的,标准的svg图片是以<svg>为根节点。

android通过vector来对svg进行支持,根节点为<vector>。

一张svg图片需要通过转换才能在android中使用。

二、转换svg

android studio上单独转换svg图片,如果有多个svg文件要转换成vector文件,则可以通过第三方工具。

参考:https://github.com/MegatronKing/SVG-Android/blob/master/svg-vector-cli/bat/svg2vector-cli-1.0.0.jar

执行转换

java -jar svg2vector-cli-1.0.0.jar -d . -o a -h 20 -w 20

-d 指定svg文件所在的目录

-f 指定单个svg文件

-h 设置转换后的svg的高度

-w 设置转换后的svg的宽度。

-o 设置android vector的输出目录。

三、svg的兼容

参考:https://developer.android.google.cn/studio/write/vector-asset-studio.html

android 5.0(API 21)更高级别会提供矢量图支持,如果应用api等级低于21:

1、png生成:

app/build.gradle中添加generatedDensities = ['xhdpi','hdpi']

然后,androidstudio就会生成相应分辨率的png图片。

2、支持库

需要android支持库23.2以上版本,适用于gradle的android插件2.0或者更高版本。利用支持库中的VectorDrawableCompat,可实现在android2.1以上版本支持vector

并且在布局中用app:srcCompat代替android:src。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值