私が持っているもの
パーミッションを正しく設定しました。
<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>
ここで、マスター アクティビティで、画像のサムネイルを含む GridView を指定しました。
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());
私の詳細活動では、
フラグメントを持つ ViewPager があります。フラグメントの onCreate() で、これを行いました。
final PhotoView photoView = new PhotoView(container.getContext());
relativeLayout.addView(photoView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
photoView.setTransitionName("position"+pos);
アニメーションは正しいアイテムで動作しているように見えますが、スムーズではありません。アニメーションにバグがあるようです。ただし、出口への移行はややスムーズです。しかし、まだ完璧ではありません。
ここで何が間違っていますか?