2

我有的

我已正确设置权限。

<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);

动画似乎适用于正确的项目,但并不顺利。动画好像有问题。但是,退出过渡有些平稳。但仍然不完美。

我在这里做错了什么?

4

1 回答 1

3

你在使用 Chris Banes 的 PhotoView 库吗?如果是这样,这不是你的错,而是库中的错误:https ://github.com/chrisbanes/PhotoView/issues/243

于 2015-10-04T07:27:34.090 回答