У меня следующая ситуация:Shared элемент Переход Glitch для GridView элементов
1) У меня есть активность А с GridView показывает эскизы изображений.
2) У меня есть еще одна активность B, у которой есть только PhotoView (link), соответствующий размеру его родителя.
3) Когда я нажимаю на какой-либо элемент в GridView, маленький миниатюра должен анимироваться из текущего положения и размера и изменять размер изображения в PhotoView.
Скриншот
Моя реализация
Это то, что я сделал для разрешения
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<!-- specify shared element transitions -->
<item name="android:windowSharedElementEnterTransition">
@transition/change_image_transform</item>
<item name="android:windowSharedElementExitTransition">
@transition/change_image_transform</item>
И это мой тран файл. Надеюсь, что это правильно, по моим спецификациям,
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeImageTransform/>
<changeBounds/>
<changeTransform/>
</transitionSet>
Это где я получаю представление и настройка имя перехода,
View photo = (View) list.getChildAt(position).findViewById(R.id.fileThumb);
photo.setTransitionName("photo" + position);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(getActivity(), Pair.create(photo, photo.getTransitionName()));
Intent intent = new Intent(getActivity(), GalleryActivity.class);
intent.putExtra(Config.GALLERY_EXTRA, position);
getActivity().startActivity(intent, options.toBundle());
В в моей деятельности B (только с полностью PhotoView),
final PhotoView photoView = new PhotoView(container.getContext());
relativeLayout.addView(photoView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
photoView.setTransitionName("position"+pos);
Проблема
Анимация работает, но не приближается к ожидаемому. Это не гладко и глючит. Что я делаю не так? Я надеюсь, что где-нибудь здесь можно поймать мою ошибку и улучшить ее.
Пример - приложение QuickPic, приложение для Sony Album.
Поскольку ваш переход функционирует, это означает, что соединения выполнены надлежащим образом между двумя действиями. Глюки могут быть вызваны несколькими различными вещами. Можете ли вы опубликовать экранную проблему? (Вы можете записать его в Android Studio) –