为了账号安全,请及时绑定邮箱和手机立即绑定

Android属性动画赏析

难度中级
时长 1小时20分
学习人数
综合评分9.80
125人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.7 逻辑清晰
  • AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速 AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速 AnticipateInterpolator 开始的时候向后然后向前甩 AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值 BounceInterpolator 动画结束的时候弹起 CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线 DecelerateInterpolator 在动画开始的地方快然后慢 LinearInterpolator 以常量速率改变 OvershootInterpolator 向前甩一定值后再回到原来位置
    查看全部
  • 分享一下个人实现的环形菜单效果,按钮是发散成圆排布的。 float y = (float) (r * Math.sin((Math.PI / 2) / (res.length - 2) * (i - 1))); float x = (float) (r * Math.cos((Math.PI / 2) / (res.length - 2) * (i - 1))); ObjectAnimator animator = ObjectAnimator.ofFloat(viewList.get(i), "translationY", 0f, -y); ObjectAnimator animator2 = ObjectAnimator.ofFloat(viewList.get(i), "translationX", 0f, x); x,y是通过数学知识计算出来的,改变x,y 的正负值,菜单弹出的方向也可以改变,其他的代码和老师的相同。
    查看全部
  • 一、ObjectAnimator属性动画 1.ObjectAnimator.ofFloat(view,"",float,float).setDuration(1000).start(); 第二个参数: translationX、translationY偏移量 rotation旋转 X、Y偏移至 2.同时作用三个属性动画 PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("rotation",0,360f); ObjectAnimator.ofPropertyValuesHolder(view,p1,p2,p3).setDuration(1000).start(); 二、AnimatorSet 1.同时作用三个属性动画 ObjectAnimator animator1 = ObjectAnimator.ofFloat(view,"rotation",0,360F); AnimatorSet set = new AnimatorSet(); set.playTogether(animator1,animator2,animator3); set.start(); 2.顺次播放动画 set.playSequentially(animator1,animator2,animator3); 3.组合动画 set.play(animator2).with(animator3); set.play(animator1).after(animator2); 动画二和动画三同时播放,结束后播放动画一
    查看全部
  • 好庞大的内容,希望能够掌握,做个自己的APP~~~
    查看全部
  • 动画效果通过ObjectAnimation和它的set方法来实现更简单。
    查看全部
  • ValueAnimator数值发生器 产生数值 ofInt(1,100) ValueAnimator的addUpdateListener()监听获取每一步产生的数值 ----------------在匿名内部类中通过getAnimatedValue()方法获得数值 自定义数值发生器: ValueAnimator.ofObject(new TypeEvaluator<可指定泛型>(){实现evaluate(0-1的时间因子,开始,结束值)方法})
    查看全部
  • 2.ofObject()自定义 ValueAnimator animator = ValueAnimator.ofObject(new TypeEvaluator<PointF>(){ //fraction时间因子,0~1 public Object evaluate(float fraction, PointF startValue, PointF endValue){ return null; } }); 三、总结 1.ObjectAnimator常用属性: translationX、translationY ;rotation、rotationX、rotationY ;scaleX、scaleY ; X、Y ; alpha 2.常用方法、类 ValueAnimator、ObjectAnimator、AnimatorUpdateListener、AnimatorListenerAdapter、PropertyValuesHolder、AnimatorSet、TypeEvalueators、Interpolators
    查看全部
  • 一、ValueAnimator 1.ValueAnimator本身并不会作用于任何一个属性,也不会提供任何一个动画,它是一个数值发生器 2.计算属性动画中每一步的具体动画效果 3.如何产生值: ValueAnimator会根据动画已进行的时间与其持续的总时间的比值产生一个0~1的时间因子,有了这样一个时间因子,经过相应的变换,就可以根据startValue()和endValue()来生产中间的相应值。同时,通过插值器的使用,可以进一步地控制每一个时间因子产生值的变化速率。 4.ObjectAnimator继承自ValueAnimator 二、ValueAnimator的使用 1.ofInt() ValueAnimator animator = ValueAnimator.ofInt(0,100); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener{ public void onAnimationUpdate(ValueAnimator animation){ Integer value = (Integer)animation.getAnimatedValue(); } });
    查看全部
  • ValueAnimator 是ObjectAnimator的父类 ObjectAnimator是对ValueAnimator的一个封装,为我们实现了一些属性的动画的封装 ValueAnimator是一个数值变化过程的封装,通过addUpdateListener(new ValueAnimator.AnimatorUpdateListener(){ @Override public void onAnimationUpdate(ValueAnimator animation){ Integer value=animation.getAnimatedValue();//变化的过程的值 } }) 监听数值变化的过程,实现一些不可告人的用途。
    查看全部
  • 总结——常用属性 我们通过 ObjectAnimator 可以调用各种属性,只要这个属性具有get/set方法,我们就可以操纵它,如果这个属性没有提供get/set方法,或者我们想自定义一个属性,来让它进行一些改变,那么我们就要定义一个Property(属性),去实现它的set/get方法,就可以操作这样一个属性。 ObjectAnimator常用的一些操作属性: 1. translationX\translationY 2. rotation、rotationX\rotationY,这里的rotation是指3D的旋转。rotationX是水平方向的旋转,rotationY是垂直方向的旋转。 3. scaleX\scaleY 水平、垂直方向的缩放。 4. X\Y 具体会移动到的某个点。 5. alpha 透明度 属性动画框架执行的效率更高、效果更好。 总结——常用方法、类 1. ValueAnimator 数值发生器,可以实现很多很灵活的动画效果 2. ObjectAnimator 是ValueAnimator的一个子类,它封装了ValueAnimator,让我们更轻松地使用属性动画框架。我们通过ObjectAnimator来操作一个对象的属性,让对象产生一个动画效果。 3. AnimatorUpdateListener 监听事件 4. AnimatorListenerAdapter 监听事件 5. PropertyValuesHolder 控制动画集合的显示效果、顺序和流程控制 6. AnimatorSet 控制动画集合的显示效果、顺序和流程控制 7. TypeEvaluators 值计算器 8. Interpolators 插值器 值计算器和插值器用来控制具体产生的数值的一个变化规律以及变化状态。 总结——Interpolater图示(如图) 表格代表了所有值的变化范围,曲线代表产生的数值是如何变化的。这也就是插值器的概念。
    查看全部
  • Animator 的 set 方法为我们提供了非常丰富的动画控制效果。例如:playTogether()同时播放,playSequentially()按顺序播放。 set还可以做更详细的顺序控制,如图 set.play(animator2).with(animator3); // 动画animator2和animator3同时进行 set.play(animator1).after(animator2); // 动画animator1在animator2(也可以写3)之后进行 这种方式也是属性动画框架中使用最多的一种:通过 ObjectAnimator 进行更精确的属性动画设置,只控制一个对象的一个属性,同时多个 ObjectAnimator 组合到 AnimatorSet 中,形成一个完整的动画效果。而且 AnimatorSet 可以通过调用 play()、with()、after()、before()、playTogether()、playSequentially()等方法,实现更为丰富的动画效果。
    查看全部
  • 使用PropertyValueHolder的原因是更加节省系统资源,也更加的有效率
    查看全部
  • 设置Interpolator,这里设置的是自由落体(BounceInterpolator) 可以在API demo中查看
    查看全部
  • 分享一下个人实现的环形菜单效果,按钮是发散成圆排布的。 float y = (float) (r * Math.sin((Math.PI / 2) / (res.length - 2) * (i - 1))); float x = (float) (r * Math.cos((Math.PI / 2) / (res.length - 2) * (i - 1))); ObjectAnimator animator = ObjectAnimator.ofFloat(viewList.get(i), "translationY", 0f, -y); ObjectAnimator animator2 = ObjectAnimator.ofFloat(viewList.get(i), "translationX", 0f, x); x,y是通过数学知识计算出来的,改变x,y 的正负值,菜单弹出的方向也可以改变,其他的代码和老师的相同。 动画是速度interpolator,他可以定义动画的速度变化,从而实现更加复杂的动画效果。设置interpolator的方法: ObjectAnimator的setInterpolator()方法,参数可以传递各种各样的interpolator,比如: objectAnimator.setInterpolator(new BounceInterpolator()); animator.addListener(new AnimatorListenerAdapter); //只要重写一个事件 animator.setStartDelay(x);//依次弹出x为间隔毫秒 setInterpolator(new XXX);//设置动画的速度变换
    查看全部
  • AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速 AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速 AnticipateInterpolator 开始的时候向后然后向前甩 AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值 BounceInterpolator 动画结束的时候弹起 CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线 DecelerateInterpolator 在动画开始的地方快然后慢 LinearInterpolator 以常量速率改变 OvershootInterpolator 向前甩一定值后再回到原来位置
    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
老师告诉你能学到什么?
通过本课程,你将学到: 1、3.0之后新增的属性动画介绍 2、旧动画框架的局限性 3、实际演示属性动画的基本用法 4、介绍关于动画的高级技巧:插值器、估值器等 5、各种动画的使用场景

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!