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

Android属性动画赏析

难度中级
时长 1小时20分
学习人数
综合评分9.80
125人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.7 逻辑清晰
  • ObjectaAnimator.ofFloat(imageView,"translationX",0f,200f).setDuration(1000).start(); 属性: translationX 偏移量 translationY X 绝对值 rotation 多个动画同时进行(start(),异步进行) PropertyValuesHolder pl = PropertyValuesHolder.ofFloat("rotation",0,360); PropertyValuesHolder p2 = PropertyValuesHolder.ofFloat("rotation",0,360); ObjectAnimator.ofPropertyValuesHolder(imageView,p1,p2).setDuration(1000).start(); AnimatorSet aset = new AnimationSet(); ObjectAnimator a1 = ObjectAnimator.ofFloat(ImageView,"rotaton",0,200f); ObjectAnimator a2 = ObjectAnimator.ofFloat(ImageView,"rotaton",0,200f); ObjectAnimator a3 = ObjectAnimator.ofFloat(ImageView,"rotaton",0,200f); aset.playTogether(a1,a2,a3); aset.playDuration(1000); aset.start(); aset.playSequentially();//按顺序执行动画 aset.start(); aset.play(a1).with(a2); aset.play(a2).after(a2); aset.start();
    查看全部
  • ObjectAnimator animator = ObjectAnimator.ofFloat(view,"alpha",0,1f).setDuration(1000); animator.addListener(new Animator.AnimatorListener() { public void onAnimationStart(Animator animation) { } public void onAnimationEnd(Animator animation) { } public void onAnimationCancel(Animator animation) { } public void onAnimationRepeat(Animator animation) { } }); //选择监听事件 animator.addListener(new AnimatorListenerAdapter(){ }); //差值器(均速度,加速度,抛物线)内置九种差值器 animator,setInterpolator(new BounceInterpolator());
    查看全部
  • 动画属性记录
    查看全部
  • 为动画增加监听事件 animitor.addListenner(new Animator);
    查看全部
  • 先左右平移 再旋转 别哭 我亲爱的人
    查看全部
  • 动画集合 几个动画放一块 同时执行 别哭 我亲爱的人
    查看全部
  • 别哭 我亲爱的人
    查看全部
  • 留作备用
    查看全部
  • Animation只能改变Ui显示而不能改变控件实际位置,不适合做有交互得动画效果
    查看全部
  • 常用属性
    查看全部
  • ·先截张图,明天继续,跑步去~
    查看全部
  • ·使用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.offloat(imageView, "translationX", 0f, 200f).setDuration(1000).start(); ·ObjectAnimator.offloat(imageView, "translationY", 0f, 200f).setDuration(1000).start(); // 这里是指绝对位置 ·ObjectAnimator.offloat(imageView, "X", 0f, 200f).setDuration(1000).start(); ·ObjectAnimator.offloat(imageView, "Y", 0f, 200f).setDuration(1000).start(); // 旋转 ·ObjectAnimator.offloat(imageView, "rotation", 0f, 360f).setDuration(1000).start(); // 只要属性具有Getter和Setter方法,就可以使用属性动画 ·可以多条语句,最后会一起执行(start方法是异步执行的) ·也可以通过PropertyValuesHolder来完成组合属性动画 { PropertyValuesHolder pvh1 = PropertyValuesHolder.offloat("rotation", 0, 360F); PropertyValuesHolder pvh2 = PropertyValuesHolder.offloat("X", 0f, 200f); PropertyValuesHolder pvh3 = PropertyValuesHolder.offloat("Y", 0f, 200f); ObjectAnimator.offPropertyValuesHodler(imageView, pvh1, pvh2, pvh3).setDuration(1000).start(); } -> 另外Google对PropertyValuesHolder对动画进行了优化
    查看全部
  • ·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); // 开始动画 } ·如果给控件点击事件,动画结束之后,事件的响应就会诡异了,啊啊啊,这是一个Bug呀,诡异诡异 -> { Animation动画只是进行了重绘控件,但是响应位置却没有改变,不适合带交互的动画 Animator动画则是onDraw不断重绘,而且只支持四种动画 } -> 这里的表述有点小问题
    查看全部
  • 常用方法
    查看全部

举报

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

微信扫码,参与3人拼团

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

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