属性动画总结
小结 属性动画 isRunning 和 isStarted 区别? isStarted isStarted 将会返回 true 当我们调用 start 方法之后,如果调用了 end 或者 cancel 方法,此时 isStarted 返回 false;当我们调用 startDelay 方法将动画延时一定时间之后再执行,但是此时 isStarted 仍然返回 true。 ...
小结 属性动画 isRunning 和 isStarted 区别? isStarted isStarted 将会返回 true 当我们调用 start 方法之后,如果调用了 end 或者 cancel 方法,此时 isStarted 返回 false;当我们调用 startDelay 方法将动画延时一定时间之后再执行,但是此时 isStarted 仍然返回 true。 ...
属性动画及 ValueAnimator 介绍 属性动画介绍 属性动画从 API11 开始提供,动画实现主要依靠 ValueAnimator 和 ObjectAnimator 两个类。其实还有一个 View.animate(),这个内部原理也是属性动画,而且它已经将常用的动画封装好了,使用起来很方便属性动画框架继承体系: Animator |--ValueAnimator // ...
属性动画原理 相关类 ObjectAnimator 和 ValueAnimator 及区别 ValueAnimator 类是先改变值,然后 手动赋值 给对象的属性从而实现动画;是 间接 对对象属性进行操作 ObjectAnimator 类是先改变值,然后 自动赋值 给对象的属性 (反射调用对象的 setter 方法,还是需要手动 invalidate() 等操作的) 从而实现...
ViewPropertyAnimator 使用 原始 ViewPropertyAnimator 需要手动 cancel 动画 mContentContainer.animate() .setDuration(5000L) .translationX(mContentContainer.width.toFloat()) .setListener(objec...
ObjectAnimator ObjectAnimator 概述 ValueAnimator 只能对数值进行计算,要实现动画需要监听动画,然后获取数值,自己操作对象。一是这个动画有点复杂,另一个感觉是虽然叫做属性对象,但是完全没有感受到哪里跟属性有关。ObjectAnimator 对象,这个对象继承自 ValueAnimator,可以通过改变对象的属性,实现动画,是不是感觉 Object...
AnimatorSet AnimatorSet 概述 ofPropertyValuesHolder 和 ObjectAnimator 的 ofxx 函数可以实现一个动画改变多个属性;但这些都是在一个动画中,所有的动画设置都是共用的。有时也需要能够让多个动画相互配合的运行;AnimatorSet 就可以实现这个功能(其实我们也可以为每个动画设置监听,然后执行下一个动画,但是操作比较繁琐),...
透明视频 使用案例 陌陌 陌陌的资源目录 sdcard/immomo/gift_video_effect/.. 开源 Mp4Composer-android https://github.com/MasayukiSuda/Mp4Composer-android,基于 MediaPlayer> ExoPlayerFilterhttps:...
ronghao FrameAnimationView https://github.com/ronghao/FrameAnimationView优化帧动画加载的内存占用、解决帧动画销毁内存不释放的问题 FrameAnimationView https://github.com/wcl9900/FrameAnimationView 多功能帧动画视图控件,可播放高分辨率图片,减少内存开销...
lottie-android https://github.com/airbnb/lottie-android
SVGAPlayer-Android https://github.com/yyued/SVGAPlayer-AndroidSVGA 预览:http://svga.io/svga-preview.html 支持的特性 assets 加载 private void loadAnimation() { SVGAParser parser = new SVGAParser(this...