所以我一直试图在一天内重现这个特定的动画:
但我无法弄清楚如何制作它,因为我认为我不会理解这种转变的方式。
主要问题是来自imageView的扩展部分导致了其他活动。
以下是我接触整个动画的方法:
我试图像这样移动imageView:
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
imageView.setLayoutParams(layoutParams);
然后在第一个动画结束时使用共享元素转换:
@Override
public void onTransitionEnd(Transition transition) {
Intent i = new Intent(MainActivity.this, Main2Activity.class);
View sharedView = imageView;
ActivityOptions transitionActivityOptions = ActivityOptions.makeSceneTransitionAnimation(MainActivity.this, sharedView, "image");
startActivity(i, transitionActivityOptions.toBundle());
}
但我无法想象如何扩展imageView以启动下一个活动,因为共享元素转换以基本方式启动活动。 我可能会在活动开始后扩展第二个布局,但效果会不那么令人印象深刻。
如果您对如何进行此扩展转换有任何想法,请告诉我