view体系之属性动画(代码片段)

adressian adressian     2022-12-01     340

关键词:

(内容省略了valueAnimator和PropertyValueHolder使用)

属性动画的使用的主要方式是AnimatorSet和ObjectAnimator配合使用.ObjectAnimator控制一个对象和一个属性,多个ObjectAnimator组合到AnimatorSet可以实现丰富的动画效果.

 

一.ObjectAnimator单独使用

ObjectAnimator mobjectAnimator=ObjectAnimator.ofFloat(view,"translationX",200);
                mobjectAnimator.setDuration(300);
                mobjectAnimator.start();

除了设置时长以外,还可以设置插值器.其可以常用的直接使用的属性动画属性值有:

translationX,translationY//平移

rotation,rotationX,rotationX//旋转

PrivotX,PrivotY//支点

alpha//透明度

x,y//View最终位置

 

二.监听动画过程

mobjectAnimator.addListener(new Animator.AnimatorListener() 
                    @Override
                    public void onAnimationStart(Animator animation) 
                    

                    @Override
                    public void onAnimationEnd(Animator animation) 

                    

                    @Override
                    public void onAnimationCancel(Animator animation) 

                    

                    @Override
                    public void onAnimationRepeat(Animator animation) 

                    
                );

 

三.组合动画

AnimatorSet使用play(Animator anim)传入动画

并且通过以下方法插入新动画:

  after(Animator anim)

  after(long delay)//延迟指定毫秒后执行

  with(Animator anim)

  before(Animator anim)

 

                ObjectAnimator Animator1 = ObjectAnimator.ofFloat(view, "translationX", 200);
                ObjectAnimator Animator2 = ObjectAnimator.ofFloat(view, "ScaleX", 1.0f, 2.0f);
                ObjectAnimator Animator3 = ObjectAnimator.ofFloat(view, "rotationX", 0.0f, 90.0f);
                AnimatorSet set=new AnimatorSet();
                set.setDuration(2000);
                set.play(Animator1).with(Animator2).after(Animator3);
                set.start();

 

android进阶知识——view的事件体系(代码片段)

...说自定义控件和解决滑动冲突等,因此学好Veiw的事件体系对于我们开发者而言是十分必要的。1.View的基础知识本节我们将主要介绍的内容有:View的位置参数、MotionEvent和TouchSlop对象、VelocityTracker、GestureDetector和Scroller对... 查看详情

android进阶之propertyanimator研究(代码片段)

...android3.0中又引入了一个新的动画系统:PropertyAnimator(属性动画官方文档),二者相比,属性动画有以下优势:属性动画对对象进行了扩展,可以对任意对象做动画,而不仅仅是View。它可以在指定的时间内 查看详情

自定义ui属性动画(代码片段)

...定义UI简易图文混排自定义UI使用Camera做三维变换自定义UI属性动画文章目录系列文章目录前言属性动画和视图动画的区别android.view.View#animate使用示例属性动画定义View定义android.animation.ObjectAnimator使用示例属性动画定义View定义多... 查看详情

06自定义view之文字绘制(代码片段)

...9;文字绘制之渐变绘制(5)画布裁剪(6)属性动画(7)过度绘制【06】自定义View之文字绘制文章目录【06】自定义 查看详情

初识属性动画——使用animator创建动画(代码片段)

Android动画和Transition系列文章初识属性动画——使用Animator创建动画再谈属性动画——介绍以及自定义Interpolator插值器三谈属性动画——Keyframe以及ViewPropertyAnimator让View具有减速效果的动画——FlingAnimation让View具有弹性效果的动画... 查看详情

view体系第二篇:view滑动(代码片段)

View滑动的基本思想:当点击事件传到View时,系统记下触摸点的坐标,手指移动时系统记下触摸后的坐标并计算出偏移量,然后根据偏移量修正View坐标.实现View滑动共有6种方法:layout()方法,offsetTopAndBottom(),LayoutParams,动画,scrollTo与scrollBy,... 查看详情

view自定义属性之layoutinflater(代码片段)

View自定义属性之LayoutInflater平常开发中,我们避免不了会自定义view,自定义view的时候可以通过AttributeSet来获取自定义的相关属性。而怎么样不通过自定义view,就能实现自定义相关属性呢,那就要使用自定义的Layo... 查看详情

自定义ui属性动画(代码片段)

...定义UI简易图文混排自定义UI使用Camera做三维变换自定义UI属性动画自定义UI自定义布局文章目录系列文章目录前言属性动画和视图动画的区别android.view.View#animate使用示例属性动画定义View定义android.animation.ObjectAnimator使用示例属性... 查看详情

android进阶知识——android动画深入分析(代码片段)

...ew动画的特殊使用场景2.1LayoutAnimation2.2Activity的切换效果3.属性动画3.1使用属性动画3.2理解插值器和估值器3.3属性动画的监听器3.4对任意属性做动画3.5属性动画的工作原理4.使用动画的注意事项Android动画可以分为三种:View动画... 查看详情

android进阶知识——android动画深入分析(代码片段)

...ew动画的特殊使用场景2.1LayoutAnimation2.2Activity的切换效果3.属性动画3.1使用属性动画3.2理解插值器和估值器3.3属性动画的监听器3.4对任意属性做动画3.5属性动画的工作原理4.使用动画的注意事项Android动画可以分为三种:View动画... 查看详情

在安卓中使用属性动画实现基本动画效果(代码片段)

一、属性动画与View动画与属性动画相对的是View动画,关于View动画的简单介绍详见:在安卓中使用Animation类实现基础动画效果在安卓中使用AnimationSet类同时执行多种动画效果View动画虽然能够满足基本的动画效果,但... 查看详情

android自定义view之围棋动画(化繁为简)(代码片段)

系列文章目录Android自定义view之围棋动画(化繁为简)文章最后有源码文章目录系列文章目录前言一、上篇文章的实现二、第一个拓展(未优化)效果:思路:1.在简单的实现中,仅借助了一个值来重复... 查看详情

jetpackcompose中的动画(代码片段)

...0c;这是理所当然的,因为旧的动画系统主要是基于View体系的,而Compose中需要针对的是Composable可组合函数进行处理,那么势必要创造一套新的玩具出来,同时,这也无疑增加了开 查看详情

android动画(代码片段)

...2.View动画3.自定义View动画4.帧动画5.View动画的使用场景6.属性动画的使用及其原理7.动画使用中的注意事项1.Android动画的分类Android的动画分为三类:View动画、帧动画、属性动画。View动画:通过对场景里的对象不断做图像... 查看详情

android中的属性动画(代码片段)

在属性动画出来之前,Android系统提供的动画只有帧动画和View动画。View动画大家可能知道,它提供了AlphaAnimation(透明度),RotateAnimation(负责旋转),TranslateAnimation(负责移动),ScaleAnimation(负责缩放)这4种动画方式... 查看详情

android自定义view之线条等待动画(灵感来源:金铲铲之战)(代码片段)

系列文章目录Android自定义view之线条等待动画(灵感来源:金铲铲之战)文章最后有源码文章目录系列文章目录前言一、实现1.测量,定义测量最小长度2.绘制线条3.动画实现源码前言又快要毕业了,最近在学人... 查看详情

在activity切换之间实现transition动画(代码片段)

Android动画和Transition系列文章初识属性动画——使用Animator创建动画再谈属性动画——介绍以及自定义Interpolator插值器三谈属性动画——Keyframe以及ViewPropertyAnimator让View具有减速效果的动画——FlingAnimation让View具有弹性效果的动画... 查看详情

自定义ui属性动画(代码片段)

...定义UI简易图文混排自定义UI使用Camera做三维变换自定义UI属性动画自定义UI自定义布局文章目录系列文章目录前言属性动画和视图动画的区别android.view.View#animate使用示例属性动画定义View定义android.animation.ObjectAnimator使用示例属性... 查看详情