SVG 兼容以及开发中碰到的坑
来源:互联网 发布:网站搜索算法 编辑:程序博客网 时间:2024/05/22 04:36
Android 5.0发布的时候,Google提供了Vector的支持。Vector Drawable相对于普通的Drawable来说,有以下几个好处:
-Vector图像可以自动进行适配,不需要通过分辨率来设置不同的图片
-Vector图像可以大幅减少图像的体积,同样一张图,用Vector来实现,可能只有PNG的几十分之一
-使用简单,很多设计工具,都可以直接导出SVG图像,从而转换成Vector图像
-功能强大,不用写很多代码就可以实现非常复杂的动画
Gradle plugin2.0以下,1.5以上的:
-Vector图像可以自动进行适配,不需要通过分辨率来设置不同的图片
-Vector图像可以大幅减少图像的体积,同样一张图,用Vector来实现,可能只有PNG的几十分之一
-使用简单,很多设计工具,都可以直接导出SVG图像,从而转换成Vector图像
-功能强大,不用写很多代码就可以实现非常复杂的动画
-成熟、稳定,前端已经非常广泛的进行使用了
具体怎么使用SVG,不多说了,不是重点,重点是使用SVG中的坑,巨坑~
首先,Android5.0发布的SVG,所以向下兼容是一个大问题,不处理这块儿,就会android.content.res.Resources$NotFoundException~
处理这个问题,也要判断你的Gradle版本:
Gradle plugin2.0以上的:
android { defaultConfig { vectorDrawables.useSupportLibrary = true }}
Gradle plugin2.0以下,1.5以上的:
android { defaultConfig { // Stops the Gradle plugin’s automatic rasterization of vectors generatedDensities = [] } // Flag to tell aapt to keep the attribute ids around aaptOptions { additionalParameters "--no-version-vectors" }}
首先,这个功能最初是在23.2.0发布,但是我们发现了一些内存使用和配置更新问题,所以我们在23.3.0移除。23.4.0(技术修复版本)我们已经重新添加相同的功能,但在一个您需要手动启用标志。
具体解决办法就是在你使用的类中添加下面代码:
static { AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);}
1 0
- SVG 兼容以及开发中碰到的坑
- shiro细粒度权限控制以及开发中碰到的bug
- Android Fragment解析以及Fragment中碰到的各种坑
- FLEX:开发中碰到的棘手问题以及解决方案(包括悬而未决的)
- 开发中可能会碰到的null的坑
- Android 开发过程中碰到的小坑集合
- wap开发中碰到的问题(1)
- eclipse开发中碰到的问题
- Ext开发中碰到的问题
- 这几天开发中碰到的问题
- 开发中碰到的奇葩问题
- 开发中碰到的几个小问题
- 开发中经常碰到的问题
- java开发中碰到的问题记录
- 两个开发中碰到的sql错误
- java开发中碰到的问题记录
- [仿南航app开发日记4]登陆对话框完成以及自定义对话框碰到的坑
- Web开发时碰到的问题以及心得经验
- 经验分享之tips(2)
- Android 6.0动态权限问题造成的坑
- sklearn---特征工程
- 跟我学JavaScript--HTML DOM --DOM实例--document对象
- Java深入
- SVG 兼容以及开发中碰到的坑
- Eclipse中SVN的安装步骤(两种)和使用方法
- Eclipse下开发安卓出现"Convert To Dalvik Format"错误解决方法
- 2017年4月27日 工作日记
- 显示图示详情的书
- Flex布局
- Linux锁机制和线程安全
- Linux模拟实现sleep
- ResNet-TensorFlow Model Zoo代码理解