私のケースでは1つのアクティビティしかありません。まず、fragment1をその断片の中に表示します。私は、cardViewのリストを表示するrecyclerViewを持っています。各CardViewの中には、画像があります。ユーザーが各CardViewをタップすると、fragment1はフラグメント2に置き換えられます.fragment2にはviewPagerが含まれ、viewpagerにはrecyclerViewで同じデータがfragment1に表示されます。私はfragment1内のimage1とimage2との間でshareElementアニメーションを作成したいと考えています。私が何をしたか です:viewPagerのフラグメントでSharedElementをフラグメント内のviewPagerフラグメントで動作させる方法
fragmentTransaction
.replace(R.id.fragment, sharedElementFragment2, FragmentEnum.FEED.toString())
.addToBackStack(null)
.addSharedElement(image1,image1.getTransitionName())
.commit();
を、私はtransitionNameと画像2を更新:recyclerViewの OnLickListener、私はframgentとaddShareElementを交換して、アイテムのコード
image1.setTransitionName(item.getContentID().toString());
によってimage1のtransitionNameを設定フラグメント1によって送信されました
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.findViewById(R.id.image2).setTransitionName(feed.getContentID()+"");
}
動作しません。私はimage2をviewpagerの外に置いてみました(フラグメント2の直下)。 viewPager内のターゲット要素の場合、shareElementは機能しないようです。これに対する解決策はありますか?
これまでに行ったチュートリアルは? –
私はこのtutに従った:http://www.androidauthority.com/using-shared-element-using-shared-element-transitions-activities-fragments-631996/ しかし、その例では、ターゲットフラグメントにはビューページャーが含まれていない – phuchieu
[ViewPagerフラグメント - 共有要素の遷移](https://stackoverflow.com/questions/27304834/viewpager-fragments-shared-element-transitions) – Pedram