Я пытаюсь добавить переход общего элемента в свое приложение.Переход общего элемента: активность во фрагмент, вложенный в другую активность
Сценарий заключается в том, что пользователь нажимает на уменьшенное изображение изображения, которое открывает другое действие с полноэкранным просмотром изображения.
Это прекрасно работает, если общий вид размещается непосредственно в макете целевой деятельности. Работает сглаженно для анимации ввода/выхода. Но когда я пытаюсь добиться аналогичного эффекта в пределах фрагмент который находится в вложенным в целевом действии этого подхода не работает. Смешно, что анимация ввода не отображается, но анимация выхода работает нормально.
Другая еще более сложная иерархия представлений заключается в том, что если целевой просмотр (ImageView) размещен в представлении пейджера, который размещается в макете кадра целевой активности.
У кого-то была такая же проблема?
Edit: Моего нажмите слушатель код
public class OnClickPicture extends OnClickBase {
private ObjectPicture object;
public OnClickPicture(Activity_Parent activity, ObjectPicture object) {
super(activity);
this.object = object;
}
public void onClick(View v) {
picasso.load(object.getFullUrl()).fetch();
Intent intent = new Intent(activity, ActivityPicture.class);
intent.putExtra("picture_object", helper.gson.toJson(object));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && v != null) {
Pair<View, String> p1 = Pair.create(v, "image");
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, p1);
activity.startActivity(intent, options.toBundle());
} else {
activity.startActivity(intent);
}
}
}
Вы также можете достичь этого, не добавляя OnPreDrawObserver. Просто переопределите onViewCreated в вашем фрагменте и вызовите startPostponedEnterTransition() там – Daveloper87
Идеальное и чистое объяснение. благодаря – GvSharma