我有什么
我已经正确设置了权限。
<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>
现在,在我的主 Activity 中,我提供了一个带有图像缩略图的 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());
在我的详细 Activity 中,
我有一个带有 fragment 的 ViewPager。在 fragment 的 onCreate() 中,我这样做了。
final PhotoView photoView = new PhotoView(container.getContext());
relativeLayout.addView(photoView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
photoView.setTransitionName("position"+pos);
动画似乎可以在正确的项目上运行,但并不顺利。动画里好像有问题。不过,退出过渡还是比较顺利的。但仍然不完美。
我在这里做错了什么?
最佳答案
您是否使用 Chris Banes 的 PhotoView 库?如果是这样,那不是你的错,而是库中的错误:https://github.com/chrisbanes/PhotoView/issues/243
关于android - 共享过渡动画故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30268048/