Мое основное занятие состоит из табуляции с 3 вкладками вверху и окна просмотра.
В этом окне просмотра у меня есть 3 разных фрагмента.
В одном из фрагментов у меня есть обзор переработчика с несколькими элементами.
Когда я щелкаю изображение из элемента просмотра переработчика, я откройте новый фрагмент с более подробной информацией.
Проблема в том, что анимация перехода между общими элементами не работает. Фрагмент сведений просто всплывает без анимации.
Это код из onclicklistener в адаптере утилита просмотра вBindViewHolder:
holder.ivPost.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle bundle = new Bundle();
holder.ivPost.setTransitionName("transition" + position);
imageTransitionName = holder.ivPost.getTransitionName();
bundle.putInt("postimage", modelFeed.getPostpic());
bundle.putString("transitionName", imageTransitionName);
Transition changeTransform = TransitionInflater.from(context).
inflateTransition(R.transition.change_image_transform);
Transition noTransition = TransitionInflater.from(context).
inflateTransition(android.R.transition.no_transition);
Fragment fragment1 = Activity_Feed.newInstance();
fragment1.setSharedElementReturnTransition(changeTransform);
fragment1.setExitTransition(noTransition);
FragmentManager manager = ((AppCompatActivity)context).getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
Fragment fragment2 = Post.newInstance();
fragment2.setSharedElementEnterTransition(changeTransform);
fragment2.setEnterTransition(noTransition);
fragment2.setArguments(bundle);
transaction.addToBackStack(null).addSharedElement(holder.ivPost,imageTransitionName).replace(R.id.fram1, fragment2).commit();
}
});
R.id.fram1 - это идентификатор макета кадра первый фрагмент.
Во втором фрагменте я получаю следующие аргументы:
Bundle bundle = getArguments();
String transitionName = bundle.getString("transitionName");
int postimage = bundle.getInt("postimage");
ImageView ivPost = v.findViewById(R.id.postimg);
ivPost.setTransitionName(transitionName);
ivPost.setImageResource(postimage);
Спасибо за помощь!