(3)矢量图VectorDrawable实现搜索框与轨迹动画

适当增大原来设置的矩形方框,为了更好地显示效果
创建新的动画anim_square
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="5000"
android:interpolator="@androiwd:interpolator/overshoot"
android:propertyName="fillColor"
android:valueFrom="@android:color/holo_red_dark"
android:valueTo="@android:color/holo_dark_gray"
android:valueType="intType">
</objectAnimator>
//每次使用的propertyName只有一个,指定一种属性的变化
同样,动画的生效方式是创建一个动画矢量图粘合剂来绑定对应的动画属性= =
这样一来渐变的效果就完成了= =

搜索框的实现
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="150dp"
android:height="24dp"
android:viewportHeight="24"
android:viewportWidth="150">
<path
android:name="search"
android:pathData="M141,17 A9,9 0 1,1 1 142,16 L149,23"
android:strokeAlpha="0.8"
android:strokeColor="#000000"
android:strokeLineCap="round"
android:strokeWidth="2"/>
<path
android:name="bar"
android:pathData="M0,23 L149,23"
android:strokeAlpha="0.8"
android:strokeLineCap="square"
android:strokeWidth="2"/>
</vector

创建两个属性动画文件
放大镜从无到有(横线反之)
这里的实现属性为property="trimPathStart"
valueFrom="1" valueTo="0"//value的值的意思是截取(trim)的比例
这里需要实现的效果为放大镜从无到有,下划线从有到无
也就是说
创建动画向量图粘合剂,设置两个部件的动画效果

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="200dp"
android:height="200dp"
android:viewportHeight="500"
android:viewportWidth="500"
<group
android:scaleX="5.0"
android:scaleY="5.0">
<path
android:name="star"
android:pathData="M 50.0,90.0 L82.919"
android:strokeColor="..."
android:strokeWidth="..."/>
</group>
</vector>
类似一个星状的网状图,如果使用以上的动画效果的时候,可以展现很优美的绘制路径的效果

小结:因为矢量图的设置过程中需要进行相应的路径绘制的工作,所以可以通过按照百分比截取的方式可以模拟演示图形的绘制过程

如果需要引入多个属性动画同时起作用的情况,需要将之前的ObjectAnimator和新的ObjectAnimator一同添加到set中即可

这里并没有说明这里的复杂路径是怎么得到的,姑且认为是一个伏笔= =,后面等他填坑

android VectorDrawable使用笔记(三)相关推荐

  1. android vectorDrawable使用笔记(一)

    (1)android 5.0  矢量图动画 贝塞尔花式曲线 PathMeasure VectorDrawable instead of mdpi hdpi xhdpi xxhdpi 矢量图和andro ...

  2. android VectorDrawable使用笔记(四)

    (4)动态VectorDrawable兼容性问题以及对应的处理 向下兼容问题 Path Morphing ---路径变换动画,在Android pre-L版本下是无法使用 Path Interpola ...

  3. android VectorDrawable使用笔记(二)

    (2)使用动态的VectorDrawable VectorDrawable和IconFont的优势,可以很轻易地使用动画 <?xml version="1.0" encodi ...

  4. Android View学习笔记(三):Scroller的原理剖析及使用(上)

    一.前言 上一篇文章中,讨论了View的几种基本滑动方式,但是这些滑动方式是生硬的,在一瞬间完成的,这给用户非常不好的体验,所以为了提高用户体验,我们需要将View弹性滑动.什么是弹性滑动?就是一个V ...

  5. android VectorDrawable使用笔记(五)

    (5)VectorDrawable使用场景 vector vs bitmap 1.bitmap的绘制效率并不一定会比vector高,他们有一定的平衡点,当vector比较简单是,其效率一定是比bitm ...

  6. Android Studio --- [学习笔记]RadioButton、CheckBox、ImageView、ListView、TCP的三次握手

    说明 源代码 在2.x里有TCP的三次挥手与四次握手,先对它进行简单的回答(百度).预计在下一篇里,会继续说明TCP 接上一篇: Android Studio - > [学习笔记]Button. ...

  7. Android群英传笔记——第三章:Android控件架构与自定义控件讲解

    Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基 ...

  8. Android实例剖析笔记(四)

    摘要:分析NoteEditor这个类和以及Content Provider机制 NoteEditor深入分析 首先来弄清楚"日志编辑"的状态转换,通过上篇文章的方法来做下面这样一个 ...

  9. Android群英传笔记——第四章:ListView使用技巧

    Android群英传笔记--第四章:ListView使用技巧 近期也是比較迷茫.可是有一点点还是要坚持的,就是学习了.近期离职了,今天也是继续温习第四章ListView,也拖了事实上也挺久的了,lis ...

最新文章

  1. php函数多个参数_php中,用函数,如果有很多个参数,只使用最后一个参数,有什么优雅的写法?...
  2. 中国生物医药行业供需形势透析及未来投资风险评估报告2022-2027年版
  3. Java黑皮书课后题第9章:*9.10(代数:二次方程式)为二次方程式设计一个名为QuadraticEquation的类
  4. 微信小程序 客服功能 客服消息
  5. 查询表授权给谁了_SQL Server 全局临时表竞争条件漏洞利用
  6. 中信银行就泄露池子个人信息致歉,网友:违法行为想靠道歉就完事?
  7. 【前端】【labelme】labelme 保存 imageData 的 base64编码机制 —— python 源码探究与 js 实现
  8. ceentos5.5 配置samba服务用户组
  9. Mac上crontab与/etc/crontab定时任务
  10. Atitit 六种知识表示法 目录 1. 知识的静态描述和动态描述 1 1.状态空间表示 以状态和运算符(operator) 1 2.问题归约表示(函数式?? 1 (1)一个初始问题描述; 2 (2)
  11. Unigui使用IconFont图标
  12. 数字图像处理王慧琴课后答案_数字图像处理课后题答案
  13. 倪光南华为鸿蒙,倪光南谈华为鸿蒙:国产鸿蒙操作系统需要生态支持
  14. Js学习之拖拉事件(drag)
  15. 基于php的校园电影网站系统
  16. URP关于多个摄相机的性能优化
  17. pythontrun什么意思_python新手笔记一
  18. 索尼为收购工作室准备,对抗微软?
  19. 使用requests.get得到<Element html at 0x271cec68f48什么意思?
  20. 云平台包含的基本特征介绍

热门文章

  1. python tcp服务器 多线程_Python中的多线程TCP服务器
  2. nginx自定义http头
  3. ubuntu更新rtl8192cu驱动
  4. eax ax ah al
  5. oracle报12541错误,记录一次oracle无缘无故就无监听,报TNS-12541等错误的问题
  6. python tablewidget综合实例_python – 仅通过单击行标题选择QTableWidget行
  7. javacurrentmap_Java 8 并发: 原子变量和 ConcurrentMap
  8. php mysql返回条数据,php – MySQL两次返回数据
  9. saxon java_如何将Saxon设置为Java中的Xslt处理器?
  10. 一棵树的生成树有几颗_次小生成树(树剖,生成树)