简介

视图动画,主要包括位移,透明度,旋转和缩放,View本身的属性并没有发生变化,只是在这个视图上添加一些渐变的效果,所以总体而言,视图动画只能实现一些简单的动画效果,属性动画功能更强大。

使用

res/anim目录下创建动画资源文件,存放帧动画和渐变动画,主要tag:

set, alpha, scale, tranlate, rotate分别对应动画集合,透明动画,缩放动画,位移动画,旋转动画

格式

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@[package:]anim/interpolator_resource"
android:shareInterpolator=["true" | "false"] >//子元素是否共享这个插值器 <!--[0.0 , 1.0] -->
<alpha
android:fromAlpha="float"
android:toAlpha="float" /> <!--[0.0, ?]
<!-- pivotX,pivotY用来控制缩放的中心点-->
<scale
android:fromXScale="float"
android:toXScale="float"
android:fromYScale="float"
android:toYScale="float"
android:pivotX="float"
android:pivotY="float" /> <!-- in pixels relative to the normal position (such as "5"), in percentage relative to the element width (such as "5%"), or in percentage relative to the parent width (such as "5%p")-->
<translate
android:fromXDelta="float"
android:toXDelta="float"
android:fromYDelta="float"
android:toYDelta="float" /> <!-- android:pivotX, android:pivotY ---- n pixels relative to the object's left edge (such as "5"), in percentage relative to the object's left edge (such as "5%"), or in percentage relative to the parent container's left edge (such as "5%p") -->
<rotate
android:fromDegrees="float"
android:toDegrees="float"
android:pivotX="float"
android:pivotY="float" />
<set>
...
</set>
</set>

< scale >

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="2000"//时常(运行代码不要在这里做注释)
android:pivotX="50%"
android:pivotY="50%"//缩放中心点为视图的中心
android:fromXScale="1.0"//起点大小
android:fromYScale="1.0"
android:toXScale="2.0"//目标大小
android:toYScale="2.0" />
</set>

< alpha>

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="2000"//时常
android:fromAlpha="1.0"//起始透明度
android:interpolator="@android:anim/accelerate_decelerate_interpolator"//插值
android:toAlpha="0.0" />//目标透明度
</set>

< rotate>

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:duration="2000"//时常
android:fromDegrees="0"//起始角度
android:interpolator="@android:anim/decelerate_interpolator"//插值
android:pivotX="50%"
android:pivotY="50%"//旋转中心点为视图中心
android:toDegrees="180" />//目标角度
</set>

< translate>

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="2000"//时常
android:fromXDelta="0"
android:fromYDelta="0"//起始位置相对于视图的位移
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="300"
android:toYDelta="300" />//目标位置相对于视图的位移
</set>

< set>

将上面的代码各种渐变动画全部防止在< set >tag下,实现共同效果

备注

代码中加载动画,例如旋转动画:

rotateAnim = AnimationUtils.loadAnimation(this, R.anim.rotate_anim);
imageView.startAnimation(rotateAnim);

最新文章

  1. 22套新鲜出炉的 Web &amp; Mobile PSD 用户界面素材
  2. ios修改产品名
  3. 使用celery之深入celery配置(转)
  4. Chap5: question 35 - 37
  5. CMD魔法堂:支持显示UTF8编码的中文
  6. php函数描述及例子
  7. 【转】用树莓派搭建web服务器
  8. C++学习笔记:Vector容器
  9. 在html中使用javascript显示本地图片的
  10. 如何迅速成为Java高手
  11. JavaScript判断对象是否含有某个属性
  12. 怎样在VS2010-2017中使用LightningChart绘图控件?
  13. IDEA 安装 Sonalint失败
  14. Flask-论坛开发-2-Jinja2模板
  15. element-ui的滚动条组件el-scrollbar(官方没有)
  16. 利用mysql行级锁创建数据库主键id
  17. eclipse maven maven-compiler-plugin 报错 完全解决
  18. 八 xml模块
  19. 十年百度工作心得(月薪75k)
  20. Python Json模块中dumps、loads、dump、load函数介绍

热门文章

  1. absolute
  2. 一个自动换行,不可以滚动的 textview
  3. 使用BeanUitls提高对象拷贝效率
  4. 【xsy1058】 单词 乱搞
  5. 剑指offer五十八之对称的二叉树
  6. Spring Security构建Rest服务-0900-rememberMe记住我
  7. Git-基本操作(图文)
  8. linux 下screen 使用
  9. 【树】Flatten Binary Tree to Linked List(先序遍历)
  10. Android 开发工具类 03_HttpUtils