-
ObjectAnimation查看全部
-
插值器的使用。差不多有六种。每一种的名称和变化状态!查看全部
-
常用方法查看全部
-
Interpolator图示查看全部
-
ValueAnimator --数值发生器,可以实现很多很灵活的动画效果; ObjectAnimator --继承于ValueAnimator,可以很好滴使用属性对话框架; AnimatorUpdateListener -- 用于动画监听器 AnimatorListenerAdapter-- 用于动画监听器 PropertyValuesHolder --用于控制动画集合的显示效果 Animatorset --用于控制动画集合的显示效果 TypeEvaluators ---值计算器,用于控制值变化的规律 Interprolators ---插值计算器,用于控制值变化的规律查看全部
-
常用属性查看全部
-
常用方法、类 ValueAnimator --数值发生器,可以实现很多很灵活的动画效果; ObjectAnimator --继承于ValueAnimator,可以很好滴使用属性对话框架; AnimatorUpdateListener -- 用于动画监听器 AnimatorListenerAdapter-- 用于动画监听器 PropertyValuesHolder --用于控制动画集合的显示效果 Animatorset --用于控制动画集合的显示效果 TypeEvaluators ---值计算器,用于控制值变化的规律 Interprolators ---插值计算器,用于控制值变化的规律查看全部
-
分享一下个人实现的环形菜单效果,按钮是发散成圆排布的。 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 向前甩一定值后再回到原来位置查看全部
-
属性动画代码查看全部
-
属性动画代码查看全部
-
属性动画监听事件查看全部
-
属性动画的各种显示方式查看全部
-
动画简单步骤查看全部
-
ImageView imageView=(ImageView) this.findViewById(R.id.imageView1); ObjectAnimator animator1=ObjectAnimator.ofFloat(imageView, "rotation", 0,360F); ObjectAnimator animator2=ObjectAnimator.ofFloat(imageView, "translationX", 0F,400F); ObjectAnimator animator3=ObjectAnimator.ofFloat(imageView, "translationY", 0F,400F); AnimatorSet set=new AnimatorSet(); //set.playTogether(animator1,animator2,animator3); //三个属性动画同时进行 //set.playSequentially(animator1,animator2,animator3); //三个属性动画按顺序进行播放 set.play(animator2).with(animator3); //先在X轴,Y轴同时平移,到达对角线时,在旋转 set.play(animator1).after(animator2); set.setDuration(2000); //设置显示时长 set.start(); //启动动画查看全部
举报
0/150
提交
取消