android 中使用svg
2019独角兽企业重金招聘Python工程师标准>>>
使用svg
这里写图片描述
这里写图片描述
示例
<vectorxmlns:android="http://schemas.android.com/apk/res/android"android:width="24dp"android:height="24dp"android:viewportHeight="480.0"android:viewportWidth="640.0"><pathandroid:fillColor="#FF0000"android:pathData="M309,180h260v166h-260z"android:strokeColor="#000000"android:strokeWidth="5" />
</vector>
- svg file可以从工具制作如在线制作SvgE-edit
- 使用和drawable资源一样的引用
- 大小应调整 android:width="120dp" 的大小,宽高比例要相同,
若调整imageview的大小,则图片还是拉伸的,锯齿效果,
很好理解,先绘制出矢量图形,绘制成功后就是点式的了,再改变view的大小相当于拉伸点式图形所以效果是有锯齿的了。
2使用动画
这里写图片描述
这里写图片描述
示例
vectordrawable.xml
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"android:height="64dp"android:width="64dp"android:viewportHeight="600"android:viewportWidth="600" ><groupandroid:name="rotationGroup"android:pivotX="300.0"android:pivotY="300.0"android:rotation="45.0" ><pathandroid:name="v"android:fillColor="#000000"android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" /></group>
</vector>
animatedvectordrawable.xml
<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"android:drawable="@drawable/vectordrawable"><targetandroid:name="rotationGroup"android:animation="@animator/rotation" /><targetandroid:name="v"android:animation="@animator/path_morph" />
</animated-vector>
- android:drawable="@drawable/vectordrawable" 矢量资源
- target android:name="rotationGroup" 矢量资源 vectordrawable.xml中定义的name 即 animation定义的动画,是针对该name的
- android:animation="@animator/rotation" 代码如下:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <objectAnimatorandroid:duration="6000"android:propertyName="rotation"android:valueFrom="0"android:valueTo="360" /> </set>
动画资源说明
- res/anim 放置 View Animation There are two types of animations that you can do with the view animation framework: Tween animation: Creates an animation by performing a series of transformations on a single image with an Animation Frame animation: or creates an animation by showing a sequence of images in order with an AnimationDrawable.
- res/aminator 放置属性动画 Property Animation
代码如下:
package com.andyidea.guidedemo;import android.content.Intent;
import android.graphics.drawable.Animatable;
import android.graphics.drawable.AnimatedStateListDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.RippleDrawable;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.animation.Animation;
import android.widget.ImageView;public class VectorActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.layout);
// AnimatedStateListDrawablefindViewById(R.id.jiv1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {ImageView iv = (ImageView) findViewById(R.id.jiv1);Drawable drawable = iv.getDrawable();if (drawable instanceof Animatable) {Animatable able = (Animatable) drawable;able.start();}}});}}
这里写图片描述
这就是 AnimatedVectorDrawable 放置在drawable资源目录下
这里写图片描述
转载于:https://my.oschina.net/u/1177694/blog/844670
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(这个在线转换 ...
- android中使用svg
0x01. gradle版本 v2.0以上 0x02. appcompat版本 高于下面也可以 compile 'com.android.support:appcompat-v7:23.2.0' 0x ...
- svg格式文件android,在Android中显示SVG文件
我想创建一个在一些平面图上显示位置的应用程序.导航通过WiFi以某种方式实现,我已经做到了,所以现在我有一个显示平面图的问题. 它可能是一些矢量格式,互联网冲浪一段时间后,我决定它必须是svg文件. ...
- SVG - 在Android中使用矢量图全攻略
概念 什么是矢量图,SVG SVG全称:可伸缩矢量图形 (Scalable Vector Graphics) SVG 用来定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像 ...
最新文章
- 2022-2028年中国椎间孔镜行业市场研究及前瞻分析报告
- 全国计算机等级考试二级笔试样卷Java语言程序设计
- 这样给学妹讲原码、反码、补码,帮她彻底解决困扰了三天的问题
- 主题:Hibernate/Spring/Struts架构使用OpenSessionInView的问题
- TypeError: __str__ returned non-string (type NoneType)
- 【转】横向扩展与纵向扩展
- 网络设备更换、域架构项目小结
- cvFloodFill() 漫水填充算法
- rup 裁剪_小型软件项目RUP裁剪模型的研究
- onenote无法同步的原因E0000007 b4lka
- 大数据自助分析平台系列文章(深入讲解由零开始设计一个大数据自助分析平台)
- 1000行代码入门python-小白入门篇,Python到底是什么?
- 立体视觉入门指南(6):对级约束与Fusiello法极线校正
- 如何用qt实现学生信息管理系统
- websocketapp保活,还没吃透内存缓存LruCache实现原理的看这篇文章,看完直呼内行
- 数据库的连接 (十)
- 生物力学及医学三维建模应用培训班
- 60多万的重疾险保额,也不敢去更好的医院看病
- web项目与硬件设备的物联网项目总结
- excel 导入到access 提示索引或主关键字不能为空 但是表中的主关键字列并不是空的
热门文章
- Atitit 视频编码与动画原理attilax总结
- Atitit.加密算法 des aes 各个语言不同的原理与解决方案java php c#
- Atitit.数据库新特性战略规划 mssql sql server 2008 SQL2012 SQL2014
- 2021世界互联网大会“全体会议”发言干货都在这篇了
- 一位挪威博士的PolarDB资深架构师之路
- 2050:技术未必会使我们摆脱愚昧,有时正相反(下)
- 【路径规划】基于matlab A_star算法求解机器人栅格地图最短路径规划问题【含Matlab源码 1388期】
- 【通信】基于matlab GUI短波通信系统仿真【含Matlab源码 647期】
- scala和java集合的区别_Scala中Array和List的区别
- php操作mysql数据_详解PHP操作MySQL数据库