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>
  1. svg file可以从工具制作如在线制作SvgE-edit
  2. 使用和drawable资源一样的引用
  3. 大小应调整 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>
  1. android:drawable="@drawable/vectordrawable" 矢量资源
  2. target android:name="rotationGroup" 矢量资源 vectordrawable.xml中定义的name 即 animation定义的动画,是针对该name的
  3. 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>

动画资源说明

  1. 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.
  2. 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相关推荐

  1. 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )

    文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...

  2. 【Android 安装包优化】Android 中使用 SVG 图片 ( SVG 矢量图简介 | Android 中生成 Vector 矢量图资源 )

    文章目录 一.SVG 矢量图简介 二.Android 中生成 Vector 矢量图资源 三.参考资料 一.SVG 矢量图简介 Android SVG 参考文档 : https://developer. ...

  3. android 使用动态的svg资源,在Android中使用SVG作为资源 – victor

    victor 在Android中使用SVG作为资源. 使用这个插件,你可以为SVG定义源文件,它们将会自动在build中光栅化/导入,无需源代码. 安装 在build.gradle中添加: build ...

  4. Android中使用SVG实现炫酷动画效果

    前言 SVG,即Scalable Vector Graphics 可伸缩矢量图形.这种图像格式在前端中已经使用的非常广泛,而在移动端的开发中,遇到一些复杂的自定义控件或者动画效果,我们就可以考虑使用S ...

  5. Android png模拟svg,Android 中使用svg图片

    1. svg认识 SVG:android5.0+出现,w3c推出 使用xml 描述二维图形语言,矢量图,放大缩小无影响 为什么用svg,现在手机的短板是内存,不是cpu,svg通过cpu计算,png占 ...

  6. android中读取svg文件,Android如何加载SVG格式的矢量图

    为何要加载SVG图片 相对于.JPG和.PNG甚至.webp的图片来说,SVG的图片有两个优点,第一:省空间,APK瘦身有一个方面就是从图片瘦身,使用SVG图片可以大量减轻程序的大小.第二:省时间,切 ...

  7. android textview svg,Android中使用SVG与WebFont矢量图标

    一.参考文献 二.html使用方法 1.下载字体 网上百度自己要使用的字体,一般下载的是ttf格式,需要4种(或5)格式,其他的格式可以通过在线工具基于ttf转换 web-fontmin(这个在线转换 ...

  8. android中使用svg

    0x01. gradle版本 v2.0以上 0x02. appcompat版本 高于下面也可以 compile 'com.android.support:appcompat-v7:23.2.0' 0x ...

  9. svg格式文件android,在Android中显示SVG文件

    我想创建一个在一些平面图上显示位置的应用程序.导航通过WiFi以某种方式实现,我已经做到了,所以现在我有一个显示平面图的问题. 它可能是一些矢量格式,互联网冲浪一段时间后,我决定它必须是svg文件. ...

  10. SVG - 在Android中使用矢量图全攻略

    概念 什么是矢量图,SVG SVG全称:可伸缩矢量图形 (Scalable Vector Graphics) SVG 用来定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像 ...

最新文章

  1. 2022-2028年中国椎间孔镜行业市场研究及前瞻分析报告
  2. 全国计算机等级考试二级笔试样卷Java语言程序设计
  3. 这样给学妹讲原码、反码、补码,帮她彻底解决困扰了三天的问题
  4. 主题:Hibernate/Spring/Struts架构使用OpenSessionInView的问题
  5. TypeError: __str__ returned non-string (type NoneType)
  6. 【转】横向扩展与纵向扩展
  7. 网络设备更换、域架构项目小结
  8. cvFloodFill() 漫水填充算法
  9. rup 裁剪_小型软件项目RUP裁剪模型的研究
  10. onenote无法同步的原因E0000007 b4lka
  11. 大数据自助分析平台系列文章(深入讲解由零开始设计一个大数据自助分析平台)
  12. 1000行代码入门python-小白入门篇,Python到底是什么?
  13. 立体视觉入门指南(6):对级约束与Fusiello法极线校正
  14. 如何用qt实现学生信息管理系统
  15. websocketapp保活,还没吃透内存缓存LruCache实现原理的看这篇文章,看完直呼内行
  16. 数据库的连接 (十)
  17. 生物力学及医学三维建模应用培训班
  18. 60多万的重疾险保额,也不敢去更好的医院看病
  19. web项目与硬件设备的物联网项目总结
  20. excel 导入到access 提示索引或主关键字不能为空 但是表中的主关键字列并不是空的

热门文章

  1. Atitit 视频编码与动画原理attilax总结
  2. Atitit.加密算法 des  aes 各个语言不同的原理与解决方案java php c#
  3. Atitit.数据库新特性战略规划 mssql sql server 2008 SQL2012 SQL2014
  4. 2021世界互联网大会“全体会议”发言干货都在这篇了
  5. 一位挪威博士的PolarDB资深架构师之路
  6. 2050:技术未必会使我们摆脱愚昧,有时正相反(下)
  7. 【路径规划】基于matlab A_star算法求解机器人栅格地图最短路径规划问题【含Matlab源码 1388期】
  8. 【通信】基于matlab GUI短波通信系统仿真【含Matlab源码 647期】
  9. scala和java集合的区别_Scala中Array和List的区别
  10. php操作mysql数据_详解PHP操作MySQL数据库