使用ActivityOptionsCompat动画共享组件的方式实现跳转Activity动画

android5.0以后新增了一种跳转activity的动画,就是使用ActivityOptionsCompat,ActivityOptionsCompat虽然是一个兼容库但是只能保证在5.0以下程序不挂掉,而没有动画效果.先上个效果图.
这里写图片描述

1.从上面的效果图可以知道我们这个动画是从第一个activity的小图和第二activity的大图共享动画效果所以首先要在xml中分别设置android:transitionName=”” 这个值随便填写但是都要一样的.
2.直接调用下面的方法跳转activity即可,view就第一个activity的小图对应的view
/**
* 带伸缩动画的跳转
* @param context
* @param cla
* @param view 缩放的view
* @param
*/
public static void startIntentparams(Context context, Class cla,View view,String key, String value) {
Intent intent = new Intent(context, cla);

ActivityOptionsCompat transitionActivityOptions =
        ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) context,view,"secondSharedView"
        );

ActivityCompat.startActivity((Activity) context,
        intent, transitionActivityOptions.toBundle());

}
3.如果第二个activity中有后退键 不能直接finish而是要向下面这么写,否则会没有动画效果
public void back() {
//大于21
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
finishAfterTransition();
} else {
finish();
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值