Я новичок во фрагментных переходах и пытаюсь добавить анимацию вместе с общим элементом к элементу изображения из просмотра переработчика из фрагмента, содержащегося в пейджере, и я не знаю, чего мне не хватает.
Переход работает, открывается следующий фрагмент, но элемент, которым я хочу поделиться, не изменяется. На самом деле это невидимо для следующего фрагмента.
У меня есть следующая структура:
основное действие, которое содержит tablayout и viewpager
pagercontroller
адаптер повторного просмотра.
2 основных фрагмента + еще один, который я хочу открыть при нажатии на изображение элемент из рециркуляции
Это код щелчка в OnBindViewHolder адаптера просмотра рециркулятора:
holder.postimage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Activity_Feed fragment1 = new Activity_Feed();
Post fragment2 = new Post();
Transition changeTransform = TransitionInflater.from((Activity)context).
inflateTransition(R.transition.change_image_transform);
Transition explodeTransform = TransitionInflater.from((Activity)context).
inflateTransition(android.R.transition.explode);
fragment1.setSharedElementReturnTransition(changeTransform);
fragment1.setExitTransition(explodeTransform);
fragment2.setSharedElementEnterTransition(changeTransform);
fragment2.setEnterTransition(explodeTransform);
FragmentManager manager = ((AppCompatActivity)context).getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.addSharedElement(holder.postimage, "imagetransition");
transaction.setReorderingAllowed(true);
transaction.replace(R.id.container, fragment2).addToBackStack(null);
transaction.commit();
}
});
И ресурс перехода change_image_transform:
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeImageTransform />
</transitionSet>
Я также установил transitionName на изображениях обоих фрагментов на «imagetransition».
Я уверен, что что-то упустил, но я действительно не знаю, что.
Спасибо за ваше помощь!