Android属性动画的基本使用
来源:互联网 发布:小田切让演技知乎 编辑:程序博客网 时间:2024/05/23 12:45
android系统中目前主要支持3种动画:帧动画、补间动画、属性动画。帧动画就是将多张图片集,按照一定的顺序快速播放,就形成了动画。补间动画主要包含:缩放、渐变、平移、旋转这四种动画。但缺点在于,只是改变了控件本身的形状、位置等外部属性,点击事件等属性,仍然没有改变。所以就有了属性动画,可以说是对补间动画的增强版,不仅修正了补间动画的缺陷,还支持更多的动画。
<span style="font-size:14px;"> textView1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ObjectAnimator animator =ObjectAnimator.ofFloat(textView1,"alpha",0f,2f); animator.setDuration(10000); animator.start(); Toast.makeText(MainActivity.this,"渐变动画",Toast.LENGTH_SHORT).show(); } }); textView2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ObjectAnimator animator = ObjectAnimator.ofFloat(textView2,"rotation",0f,180f); animator.setDuration(100); animator.start(); } }); textView3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { float currentX = textView3.getTranslationX(); ObjectAnimator animator = ObjectAnimator.ofFloat(textView3,"translationX",currentX,100f,50f); animator.setDuration(500); animator.start(); } }); textView4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ObjectAnimator animator = ObjectAnimator.ofFloat(textView4,"scaleY",0.5f,2f); animator.setDuration(1000); animator.start(); } }); textView5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ObjectAnimator animator = ObjectAnimator.ofFloat(textView5,"rotation",0f,360f); ObjectAnimator object = ObjectAnimator.ofFloat(textView5,"scaleY",0f,1f); ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(textView5,"scaleX",0f,1f); AnimatorSet animatorSet = new AnimatorSet(); /** * play(object) 插入这个动画 * with(objectAnimator) 和插入的动画同时执行 * before(animator) 理论上是在插入动画执行前执行,实际上和after一样都是在之后 */ animatorSet.play(object).with(objectAnimator).before(animator); animatorSet.setDuration(1000); animatorSet.start(); } });</span>如上所示,一般调用时:
一、通过ObjectAnimator.ofFloat(textView3,"translationX",currentX,100f,50f)构建一个animation对象,其中第一个参数,动画应用的目标View,第二个参数,属性动画名称,第三个参数,开始动画的位置,第四个参数运动到的第二个位置,第三个参数,动画运动的最后一个位置。
二、调用setDuration方法设置动画持续的时间,单位是毫秒。
三、调用start方法,动画就开始执行了。
而通常情况下,当一个动画执行结束之后,我们会希望执行指定的动作,所以就可以添加动画监听了:
textView6.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ObjectAnimator animator = ObjectAnimator.ofFloat(textView6,"rotation",0f,90f); /* 通常情况下调用该方法,可以监听指定的动作 animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); Toast.makeText(MainActivity.this,"动画结束~",Toast.LENGTH_SHORT).show(); } });*/ animator.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animator) { Toast.makeText(MainActivity.this,"动画开始~",Toast.LENGTH_SHORT).show(); } @Override public void onAnimationEnd(Animator animator) { Toast.makeText(MainActivity.this,"动画结束~",Toast.LENGTH_SHORT).show(); } @Override public void onAnimationCancel(Animator animator) { Toast.makeText(MainActivity.this,"动画取消执行~",Toast.LENGTH_SHORT).show(); } @Override public void onAnimationRepeat(Animator animator) { Toast.makeText(MainActivity.this,"动画重复执行~",Toast.LENGTH_SHORT).show(); } }); animator.setDuration(1000);//动画持续时间 animator.setRepeatCount(2);//动画重复次数 animator.start(); } });好了,以上就是属性动画的基本用法!
0 0
- Android属性动画的基本使用
- android 属性动画的基本使用
- 属性动画的基本使用
- Android属性动画(一):ValueAimator和ObjectAnimator的基本使用
- 属性动画基本使用
- Android属性动画的基本用法
- Android中属性动画的基本用法
- Android属性动画的基本用法
- Android属性动画(ObjectAnimator)的基本用法
- Android中属性动画的基本用法
- android属性动画的使用
- Android 属性动画的使用
- 三、ValueAnimator属性动画的基本使用
- Android动画的基本使用
- (属性动画)Android属性动画完全解析(上),初识属性动画的基本用法
- Anroid动画总结二:属性动画 ValueAnimator的基本使用
- Android(第三种动画)属性动画完全解析(上),初识属性动画的基本用法
- Android中属性动画1----ObjectAnimator的基本使用(平移,缩放,渐变,旋转)
- IPC网络高清摄像机基础知识4(Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别)
- C语言三种预处理功能
- android 4.4.系统 添加一门新的语言
- 2016.06.15廖雪峰JS__学习笔记(class继承)__P10
- 要不奖励一首风林火山的原声
- Android属性动画的基本使用
- [leetcode] 【字符串】13. Roman to Integer
- 动态规划——爬楼梯
- 按照文件夹名字进行升序排序
- CoreData 基本概念介绍
- 使用Ionic.Zip.dll压缩和解压文件代码笔记
- android studio 混淆打包
- springMVC使用HandlerMethodArgumentResolver 自定义解析器实现请求参数绑定方法参数
- 关于STO的退货