android中使用svg
0x01. gradle版本
v2.0以上
0x02. appcompat版本
高于下面也可以
compile 'com.android.support:appcompat-v7:23.2.0'
0x03. build.gradle
在module的buidl.gradle中添加下面属性.
defaultConfig {vectorDrawables.useSupportLibrary = true}
0x04. 资源的使用
- 0x01. 使用AppCompatImageView
替换:
ImageView为AppCompatImageView
app:srcCompat代替android:src
<android.support.v7.widget.AppCompatImageViewandroid:id="@+id/xxx_aiv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentEnd="true"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:layout_gravity="right"app:srcCompat="@drawable/xxx_svg_icon"android:visibility="visible"/>
- 0x02. 使用ImageView
<ImageView
android:id="@+id/xxx_aiv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentEnd="true"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:layout_gravity="right"android:src="@drawable/xxx_svg_icon_selector"android:visibility="visible"/>
在android:src属性中,为了避免兼容性导致的崩溃,则需要把drawable/xxx_svg_icon
文件的引用放到selector中.
xxx_svg_icon_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/xxx_svg_icon_normal" android:state_pressed="true"/><item android:drawable="@drawable/xxx_svg_icon_press"/>
</selector>
PS: Button控件中的属性使用都要按照selector的方式使用资源.
0x04. Activity中的处理
在使用svg资源的activity中使用下面的属性.
static {AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
svg的图片需要自己转换
选中要添加矢量图的Module,右击选择New|------Vector Asset
|------选择Local file
|------选中要转换的原始文件
|------选择Override(原始文件大小)
|------drawable文件夹中生成xml矢量文件
android中使用svg相关推荐
- 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )
文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...
- 【Android 安装包优化】Android 中使用 SVG 图片 ( SVG 矢量图简介 | Android 中生成 Vector 矢量图资源 )
文章目录 一.SVG 矢量图简介 二.Android 中生成 Vector 矢量图资源 三.参考资料 一.SVG 矢量图简介 Android SVG 参考文档 : https://developer. ...
- android 使用动态的svg资源,在Android中使用SVG作为资源 – victor
victor 在Android中使用SVG作为资源. 使用这个插件,你可以为SVG定义源文件,它们将会自动在build中光栅化/导入,无需源代码. 安装 在build.gradle中添加: build ...
- Android中使用SVG实现炫酷动画效果
前言 SVG,即Scalable Vector Graphics 可伸缩矢量图形.这种图像格式在前端中已经使用的非常广泛,而在移动端的开发中,遇到一些复杂的自定义控件或者动画效果,我们就可以考虑使用S ...
- Android png模拟svg,Android 中使用svg图片
1. svg认识 SVG:android5.0+出现,w3c推出 使用xml 描述二维图形语言,矢量图,放大缩小无影响 为什么用svg,现在手机的短板是内存,不是cpu,svg通过cpu计算,png占 ...
- android中读取svg文件,Android如何加载SVG格式的矢量图
为何要加载SVG图片 相对于.JPG和.PNG甚至.webp的图片来说,SVG的图片有两个优点,第一:省空间,APK瘦身有一个方面就是从图片瘦身,使用SVG图片可以大量减轻程序的大小.第二:省时间,切 ...
- android textview svg,Android中使用SVG与WebFont矢量图标
一.参考文献 二.html使用方法 1.下载字体 网上百度自己要使用的字体,一般下载的是ttf格式,需要4种(或5)格式,其他的格式可以通过在线工具基于ttf转换 web-fontmin(这个在线转换 ...
- svg格式文件android,在Android中显示SVG文件
我想创建一个在一些平面图上显示位置的应用程序.导航通过WiFi以某种方式实现,我已经做到了,所以现在我有一个显示平面图的问题. 它可能是一些矢量格式,互联网冲浪一段时间后,我决定它必须是svg文件. ...
- SVG - 在Android中使用矢量图全攻略
概念 什么是矢量图,SVG SVG全称:可伸缩矢量图形 (Scalable Vector Graphics) SVG 用来定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像 ...
最新文章
- 7个Debug linux程序的Strace 列子
- 成都机场迎春运客流高峰 日均起降航班超1000架次
- 2018 年值得关注的 Web 设计趋势
- spring+springMVC+mybatis的整合 part5
- VPC 2007 Console界面消失以及解决方法
- Kryo为什么比Hessian快
- HDOJ 1160 FatMouse's Speed
- mysql数据库隔离级别 实现原理_MySQL事务及Spring隔离级别实现原理详解
- 为什么浏览器User-agent(浏览器类型)总是有Mozilla字样?
- 【学习资源分享】在线学习平台推荐
- App数据抓取(Appium使用)
- Android 音乐APP(二)启动白屏优化、定位当前播放歌曲
- linux kernel mtd 分区
- 多文件在线压缩并下载
- 统一JAVA软件开发规范
- 电梯门禁系统服务器一般在哪,电梯控制系统与门禁系统的区别
- 细思极恐,第三方跟踪器正在获取你的数据,如何防范?
- 基于FPGA的DDS 信号发生器(三)
- 腾讯徐春明:互联网金融行业HBase实践与创新
- 2020-01-07
热门文章
- 图像在计算机储存的是什么意思,数字医学图像计算机存储与传输技术.ppt
- 虚拟机Centos 7 使用命令 ip addr 不显示IP地址
- gb 服务器 维护 维修,H3C R6800 G2服务器 维护指南-6W100
- golang 垃圾回收、三色标记法、写屏障
- (内附免费下载地址)全网免费获取地形数据的方法
- 幸福公寓(仿爱情公寓同居交友) 源码免费发布
- 2013年12月综合交友类行业网站综合影响力排名
- 利用GINA实现U盘开机锁
- div+css静态网页设计——千与千寻-电影图文(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计
- 数据透视表(图)中添加公式计算与汇总--计算项和计算字段