安卓属性动画一
来源:互联网 发布:梦幻西游mac版安装教程 编辑:程序博客网 时间:2024/05/18 02:50
1、概述
Android框架提供了两种动画系统:属性动画和视图动画。这两种动画系统都有变化的选择,但是总的来说,属性动画系统是更好的选择,因为它更加灵活,并提供了更多的特性。
属性动画系统是一个强大的框架,它允许你动画几乎所有的东西。例如一个对象在屏幕中的位置,要动画多久,和动画之间的距值。
通常我们要操作的属性为: rotationX、rotationY 旋转(以x轴或y轴) scaleX、scaleY 缩放 translationX、translationY 平移 X、Y 坐标 alpha 透明度
1、ObjectAnimator(针对于某个组件)
单个动画:
ObjectAnimator.ofFloat(v,"rotationX",0.0f,360.0f).setDuration(5000).start();//这里是图片围绕x轴进行旋转
组合多个动画:
PropertyValuesHolder propertyValuesHolder = PropertyValuesHolder.ofFloat("alpha",1f,0f,1f); PropertyValuesHolder propertyValuesHolder1 = PropertyValuesHolder.ofFloat("scaleX",1f,0f,1f); PropertyValuesHolder propertyValuesHolder2 = PropertyValuesHolder.ofFloat("scaleY",1f,0f,1f); ObjectAnimator.ofPropertyValuesHolder(v,propertyValuesHolder,propertyValuesHolder1,propertyValuesHolder2).setDuration(3000).start(); //这里的动画是一个图片的缩放,同时伴随着alpha的变化。注意这里使用的是PropertyValuesHolder来添加动画。
2、ValueAnimator(不针对于某有一个组件)
和ObjectAnimator用法很类似,简单看一下用view垂直移动的动画代码:
自由落体示例:
final View view = v; DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); //定义一个动画 ValueAnimator valueAnimator = ValueAnimator.ofFloat(view.getY(),displayMetrics.heightPixels).setDuration(500); //监听动画的每一个动作 valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { view.setTranslationY((Float) animation.getAnimatedValue()); } }); valueAnimator.start();
阅读全文
0 0
- 安卓属性动画一
- 安卓属性动画
- 安卓-属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓属性动画
- 安卓 属性动画
- 安卓的属性动画基本用法(一)
- 安卓属性动画系列
- 安卓属性动画-笔记
- 安卓属性动画详解
- 7月英语总结
- JavaScript实战-DOM操作之奇偶变色表格
- python->sorted
- C++实现一个线程安全且高效单例类
- Java文件读写操作(file I/O)
- 安卓属性动画一
- 流总结
- I/O多路转接之select
- Shader学习笔记(三) GPU流水线
- [ZJOI2007]时态同步
- git使用基础操作
- ANGULAR 1与 ANGULAR 2之间的一些差别
- html中input的学习
- yum安装软件