我有两个片段(FragmentA, FragmentB
),在第一个片段中我有recycler view
,而recycler view
包含一些images
,当我点击此图片时,应用打开fragmentB
,fragmentB
有viewpager
,此viewpager也包含一些图片(如图库),我想将图片从fragmentA
交换到viewpager
在FragmentB
,我无法做到这一点,请帮助我,这不行。
fragmentA recycler view on image click listner:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
{
fragmentB.setSharedElementEnterTransition(new DetailsTransition());
fragmentB.setEnterTransition(new Fade());
setExitTransition(new Fade());
fragmentB.setSharedElementReturnTransition(new DetailsTransition());
}
Bundle bundle = new Bundle();
bundle.putString("ad_id", recyclerAdapter.dataset.get(position)._id);
fragmentB.setArguments(bundle);
getActivity()
.getSupportFragmentManager()
.beginTransaction()
.addSharedElement(image, "sharedImage")
.add(R.id.main_content, fragmentB)
.addToBackStack(null)
.commit();
它是FragmentA中的项目行:
<ImageView
android:id="@+id/ad_image"
android:transitionName="sharedImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:adjustViewBounds="true"/>
它是FramnetB viewpager:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:transitionName="sharedImage"
android:scaleType="fitXY"
android:src="@drawable/placeholder_image2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/img"/>
</RelativeLayout>
答案 0 :(得分:0)
尝试以下链接,它可能会对您有所帮助
答案 1 :(得分:0)
https://medium.com/@bherbst/fragment-transitions-with-shared-elements-7c7d71d31cbb#.r0snpgei4 https://github.com/codepath/android_guides/wiki/Animations 也参考这两个链接。这些链接具有共享元素事务,特别适用于Activity / Fragment
之间的图像转换