今天本来在研究安卓的图片加载缓存库 Glide
突发奇想想做一个浏览图片然后点击放大查看大图
然后在放大的过程中能够有类似即刻
的动画效果~
本来认为很麻烦 , 查询了一些资料 发现安卓上可以很方便地配置转场效果
ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) context, this.fromView, "img");
ActivityCompat.startActivity(context, new Intent(context, ImagePreviewActivity.class), compat.toBundle());
this.fromView
为过渡前的View
然后 img
它是一个字符串 用来联系过渡前后的元素
其中 在 this.fromView
需要设置这个标示
this.fromView.setTransitionName("img");
然后再过渡后的activity中对应的过渡后元素也需要设置这个
//ImagePreviewActivity中
viewPager.setTransitionName("img");
至此过渡前后的元素关联上了 , 系统会自动添加关联的动画 , 不必我们去详细操作 ~
看下方的动图
返回的时候需要动画的话 调用 ActivityCompat.finishAfterTransition(this);
即可
比如点击顶部的返回按钮返回
@Override
public void onBackPressed() {
super.onBackPressed();
ActivityCompat.finishAfterTransition(this);
}
最后 安卓的大佬们见笑了~ 勿喷~