android VectorDrawable使用笔记(三)
2018-01-23 08:24
393 查看
(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中即可
这里并没有说明这里的复杂路径是怎么得到的,姑且认为是一个伏笔= =,后面等他填坑
适当增大原来设置的矩形方框,为了更好地显示效果
创建新的动画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使用笔记(五)
- android vectorDrawable使用笔记(一)
- android VectorDrawable使用笔记(二)
- android VectorDrawable使用笔记(四)
- 【Android graphics】(一) Android SVG使用之AnimatedVectorDrawable
- android 中vector drawable使用
- Android Drawable Mipmap Vector使用及Vector兼容
- Android Drawable Mipmap Vector使用及Vector兼容
- Android VectorDrawable 的使用
- Android:Vector Drawable 使用
- Android笔记之TextView中使用Drawable
- Android VectorDrawable 矢量图+属性动画 使用总结
- Android -- VectorDrawable、AnimatedVectorDrawable 使用详解
- 【Android graphics】(一) Android SVG使用之AnimatedVectorDrawable
- Android SVG使用之AnimatedVectorDrawable
- 【Android graphics】(一) Android SVG使用之AnimatedVectorDrawable
- Android中VectorDrawableCompat的使用注意事项
- 如何使用Android的VectorDrawable类绘制矢量图
- 安卓学习笔记--- Android加载Gif动画android-gif-drawable的使用
- Mars Android视频学习笔记——01_14/15_Handler的使用