最近、次のコードで新しいアクティビティを開始する代わりに、単一のアクティビティを使用するように切り替えました (モルタルとフローのおかげです)。
setAnimation(direction, oldChild, newChild);
// Out with the old, in with the new.
if (oldChild != null) container.removeView(oldChild);
container.addView(newChild);
}
protected void setAnimation(Flow.Direction direction, View oldChild, View newChild) {
if (oldChild == null) return;
int out = direction == Flow.Direction.FORWARD ? R.anim.slide_out_to_left : R.anim.slide_out_to_right;
int in = direction == Flow.Direction.FORWARD ? R.anim.slide_in_from_right : R.anim.slide_in_from_left;
oldChild.setAnimation(loadAnimation(context, out));
newChild.setAnimation(loadAnimation(context, in));
}
この移行は、アクティビティ間の移行に使用した方法とまったく同じです
activity.startActivity();
activity.overridePendingTransition(R.anim.slide_in_from_right, R.anim.nudge_out_to_left);
私にとって、ビューとアクティビティの遷移は同じようにレンダリングされるはずですが、アクティビティの遷移で何か余分なことが起こっていることがわかります。フェードアウトのようなものもあります。
ビューの遷移を2つのアクティビティの遷移と同じに見せる方法を知っている人はいますか? 複数のアクティビティを必要としないアプローチに完全に移行したいが、アクティビティの遷移の滑らかさを失うのは嫌だ