-
/*3 ImageView imageView=(ImageView) this.findViewById(R.id.imageView1); PropertyValuesHolder p1=PropertyValuesHolder.ofFloat("rotation", 0,360F); PropertyValuesHolder p2=PropertyValuesHolder.ofFloat("translationX", 0,400F); PropertyValuesHolder p3=PropertyValuesHolder.ofFloat("translationY", 0,360F); ObjectAnimator.ofPropertyValuesHolder(imageView, p1,p2,p3).setDuration(3000).start(); */ /* PropertyValuesHolder p1=PropertyValuesHolder.ofFloat(propertyName, values); * propertyName:是属性 * value:是属性变化的值 * ObjectAnimator.ofPropertyValuesHolder(target, values); * target:所要作用动画的对象 * values:可变长数组 * */查看全部
-
fFloat(imageView, "translationX", 400F,-10F).setDuration(5000).start(); ObjectAnimator.ofFloat(imageView, "rotation", 0F,360F).setDuration(4000).start(); */ /*动画进行是异步的 * target:所要操作的对象,这里是ImageView * propertyName:所需要操作的属性 * value:动画变化的范围 * setDuration:用于设置动画时长 * translationX,translationY 指的是物体的偏移量 * X,Y 指最终动画所到达的绝对位置 * rotation 设置动画旋转 * */查看全部
-
/*1 //平移动画,x坐标从0平移到400,y坐标不变 TranslateAnimation animation=new TranslateAnimation(0,400,0,0); //设置时长1秒 animation.setDuration(1000); //设置动画运行完后停止在原地 animation.setFillAfter(true); ImageView imageView=(ImageView) this.findViewById(R.id.imageView1); //把新建的animation传进来 imageView.startAnimation(animation); */查看全部
-
Animator同样支持AnimatorSet,增加动画组合的多样性 playSequentially:按顺序进行动画的播放 playTogether:一起执行所选的动画效果 还可以进行属性集合的详细控制 set.play(动画2).with(动画3); set.play(动画1).after(动画2); ObjectAnimatior.ofFloat()方法实现的动画是同时进行的,同时操作多个属性的动画可以使用ofPropertyValuesHolder方法 PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("rotation",0,360F); PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("translationX",0,360F); PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("translationY",0,360F); ObjectAnimatior.ofPropertyValuesHolder(imageView,p1,p2,p3).setDuration(1000).start(); 好处是便于多种动画的组合和复用 属性动画平移的实现方法 ObjectAnimatior.ofFloat(imageView,"translationX",0F,200f).setDuration(1000).start(); //ofFloat方法(要操作的对象,"要操作的元素",变化范围,变化范围).设置持续时间.开始执行 要操作的元素只要包含get和set方法都可以使用属性动画,例如 translationX/translationY:X/Y轴的偏移量 X/Y:X/Y的最终量 rotation:旋转,从0度开始查看全部
-
使用AnimatorSet来完成 { AnimatorSet set = new AnimatorSet(); ObjectAnimator animator1 = ObjectAnimator.offloat(imageView, "rotation", 0f, 200f); ObjectAnimator animator2 = ObjectAnimator.offloat(imageView, "translationX", 0f, 200f); ObjectAnimator animator3 = ObjectAnimator.offloat(imageView, "translationY", 0f, 200f); set.playTogether(animator1,animator2,animator3); // 动画一起播放 // set.playSequentially(animator1,animator2,animator3); // 顺序播放动画 // 控制动画之间的播放顺序 // set.play(animator2).with(animator3); // 先X和Y一起平移 // set.play(animator1).after(animator3); // 平移完成之后旋转 set.setDuration(1000); set.start(); }查看全部
-
一、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); 动画二和动画三同时播放,结束后播放动画一查看全部
-
属性动画框架可以代替传统的Animation框架<br> 属性动画中最简单也最常用的一个对象——ObjectAnimator<br> ObjectAnimator可以操作很多的属性,只要我们发现一个对象的属性有get和set方法,那么我们就可以通过ObjectAnimator操作它的属性,从而实现特定的动画。 ObjectAnimator调用start()进行动画是异步的,所以如果我们同时开始三个属性动画,那么这三个动画是同时作用的查看全部
-
Android 3.0之后添加的属性动画框架 ·属性动画Animator & 传统动画Animation ·Sample { TranslateAnimation animation = new TranslateAnimation(0, 200, 0, 0); // x从0->200 animation.setDuration(1000); // 持续时间1s animation.setFillAfter(true); // 动画运行完成后停留在原处 imageView.startAnimation(animation); // 开始动画 }查看全部
-
传统动画Animation平移方法的实现 TranslateAnimation animation = new TranslateAnimation(x轴初始位置,x轴终止位置,y轴初始位置,y轴终止位置); animation.setDuration(1000);//设置持续时间,ms单位 animation.setFillAfter(true);//设置动画结束后状态,true为保持最终状态 imageView.startAnimation(animation);//为控件添加要执行的动画 传统动画的局限性,只是重绘了动画,改变了显示位置,但是真正的响应位置没有发生任何改变,并不适合做具有交互的动画效果查看全部
-
ValueAnimator --数值发生器,可以实现很多很灵活的动画效果; ObjectAnimator --继承于ValueAnimator,可以很好滴使用属性对话框架; AnimatorUpdateListener -- 用于动画监听器 AnimatorListenerAdapter-- 用于动画监听器 PropertyValuesHolder --用于控制动画集合的显示效果 Animatorset --用于控制动画集合的显示效果 TypeEvaluators ---值计算器,用于控制值变化的规律 Interprolators ---插值计算器,用于控制值变化的规律查看全部
-
ValueAnimator --数值发生器,可以实现很多很灵活的动画效果; ObjectAnimator --继承于ValueAnimator,可以很好滴使用属性对话框架; AnimatorUpdateListener -- 用于动画监听器 AnimatorListenerAdapter-- 用于动画监听器 PropertyValuesHolder --用于控制动画集合的显示效果 Animatorset --用于控制动画集合的显示效果 TypeEvaluators ---值计算器,用于控制值变化的规律 Interprolators ---插值计算器,用于控制值变化的规律查看全部
-
动画监听事件查看全部
-
animatorset方法查看全部
-
属性动画查看全部
-
学习安卓小项目的好方式,谷歌的API demo,学习好了这个,看和做其它的项目,都会得心应手。查看全部
举报
0/150
提交
取消