我正在两个活动之间进行场景转换,在这里我交换了两个视图的位置。我正在使用makeSceneTransitionAnimation。但是无论何时我尝试添加它所提供的对都无法解决方法
如果我只做一个像makeSceneTransitionAnimation(this,m4,“ swapTransistion”)这样的视图,它就可以很好地工作,但是每当我添加一个对不起作用时,我都会在无法获得的地方添加一个示例代码解决
intent = new Intent(this, SecondActivity.class);
Pair<ImageView, String> p1 = Pair.create((ImageView) m4, "swapTransition");
Pair<View, String> p2 = Pair.create((View) m2, "blueTransition");
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this,p1,p2);
startActivity(intent, options.toBundle());
编辑:我了解将其更改为ActivityOptions而不是Compat即可使用。但是我要添加对较早版本的android的支持,并使用支持库,因为我不希望它对较旧的Android版本崩溃
答案 0 :(得分:0)
尝试使用ActivityOptions
来做到这一点:
View view1 = m4;
View view2 = m2;
ActivityOptions transitionActivityOptions = ActivityOptions.makeSceneTransitionAnimation(this,
Pair.create(view1, "swapTransition"),
Pair.create(view2, "blueTransition"));
编辑:
在这里,我如何使用ActivityOptionsCompat转换示例
android.support.v4.util.Pair[] pairs = new android.support.v4.util.Pair[3];
pairs[0] = new android.support.v4.util.Pair(sharedView, transitionName);
pairs[1] = new android.support.v4.util.Pair(sharedView2, transitionName2);
pairs[2] = new android.support.v4.util.Pair(sharedView2, transitionName3);
ActivityOptionsCompat transitionActivityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(this,pairs);
现在就可以使用您的示例,祝您晚上愉快!