最近开发项目想要加一些页面更丰富的展示方式,其中一条就是页面页面元素共享。之前用的不多记得不熟,今天记录一下。
1、首先,要共享元素的空间都要添加一行配置
android:transitionName="share"
此处的share两个空间必须一致
2、在页面跳转时的配置,这里共享了一个图片
Intent intent = new Intent(getContext(), ProductMsg_Activity.class);
ActivityOptionsCompat optionsCompat =
ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), imageView, "app_img");
startActivity(intent, optionsCompat.toBundle());
3、页面间多元素共享的写法
首先和共享一个元素一样,都需要再控件上添加属性
android:transitionName="share"
在页面跳转时有所不同:
Pair img = new Pair<>(imageView, ViewCompat.getTransitionName(imageView));
Pair name = new Pair<>(idItemName, ViewCompat.getTransitionName(idItemName));
ActivityOptionsCompat optionsCompat =
ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), img, name);
startActivity(intent, optionsCompat.toBundle());
这里共享了两个元素,分别对应一个ImageView和一个TextView
代码很简单,就不上效果图了