继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android 属性动画的使用

刺参
关注TA
已关注
手记 1
粉丝 1
获赞 10
                                               ObjectAnimator

使用属性动画有3种方法:
1、使用ObjectAnimator类;
eg: ObjectAnimator.ofFloat(mImageView, "translationX", 0, i * 100F).setDuration(1000).start();
(1)第一个参数为Object 一般为需要实现动画的对象。
(2)第二个为要实现的动画类型(String类型) 具体有"translationX","translationY","rotation","alpha","scaleX"等
(3)第三个为values数组值,一般为 从...到...。

2、使用PropertyValuesHolder类;
eg:PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("translationX", 0, i * 100F);

   ObjectAnimator.ofPropertyValuesHolder(mImageViews[i], p1).setDuration(1000).start();

  (1)ObjectAnimator.ofPropertyValuesHolder(参数1,参数2)  参数2的值同样为数组值,可填多个,如 ObjectAnimator.ofPropertyValuesHolder(mImageViews[i], p1,p2,p3)

3、使用动画集AnimatorSet;
eg: ObjectAnimator anim1=ObjectAnimator.ofFloat(mImageView, "translationX", 0, i * 100F).setDuration(1000).start();

   ObjectAnimator anim2=ObjectAnimator.ofFloat(mImageView, "translationY", 0, i * 100F).setDuration(1000).start();

    AnimatorSet set=new AnimatorSet();
    set.playTogether(anim1,anim2); // 设置同时进行的动画
    //set.playSequentially(anim1,anim2);    //设置动画开始的顺序
    //set.play(anim1).with(anim2); // 设置同时进行的动画
    //set.play(anim1).after(anim2); //设置anim1在anim2之后
    set.setDuration(1000);
    set.start();

设置动画对象的锚点;
ViewHelper.setPivotX(target, 0);
ViewHelper.setPivotY(target, 0);
(1)第一个参数为对象,第二个参数为锚点位置 (0:左上角; 宽/2 and 高/2:中心; 宽and高:右下角)

打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP