java flip_GitHub - bowen903/ViewFlipAnimator: 一种超简单纯Java实现的卡片翻转效果

ViewFlipAnimator

一种超简单纯Java实现的卡片翻转效果

Snapshot

flip-snapshot.gif

Java Code

/**

* 水平翻转

* @param view target

* @param duration time

* @param direction 只能传1或-1,1为从右开始翻转,-1位从左开始翻转

* @return 动画集合

*/

public static AnimatorSet flip(View view, int duration, int direction) {

if (direction != 1 && direction != -1) direction = 1;

view.setCameraDistance(16000*view.getResources().getDisplayMetrics().density);

AnimatorSet animSet = new AnimatorSet();

ObjectAnimator rotationY = new ObjectAnimator();

rotationY.setDuration(duration).setPropertyName("rotationY");

rotationY.setFloatValues(0, 90*direction);

ObjectAnimator _rotationY = new ObjectAnimator();

_rotationY.setDuration(duration).setPropertyName("rotationY");

_rotationY.setFloatValues(-90*direction, 0);

_rotationY.setStartDelay(duration);

ObjectAnimator scale = new ObjectAnimator();

scale.setDuration(duration).setPropertyName("scaleY");

scale.setFloatValues(1, 0.94f);

ObjectAnimator _scale = new ObjectAnimator();

_scale.setDuration(duration).setPropertyName("scaleY");

_scale.setFloatValues(0.94f, 1);

_scale.setStartDelay(duration);

animSet.setTarget(view);

rotationY.setTarget(view);

_rotationY.setTarget(view);

scale.setTarget(view);

_scale.setTarget(view);

animSet.playTogether(rotationY, _rotationY, scale, _scale);

animSet.start();

return animSet;

}

About me

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值