how to Shared element transition from a fragment to an activity

后端 未结 4 596
轮回少年
轮回少年 2020-12-16 17:26

I have three fragments inside a ViewPager in an activity, I want to achieve shared element transition from one of the fragments to another activity. The transition is from a

相关标签:
4条回答
  • 2020-12-16 17:30

    I think using Pairs as below:

     Pair[] pairs = new Pair[1];
                pairs[0] = new Pair<View, String>(tvArtifacts, "itemTrans");
                ActivityOptions options = null;
                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
                    options = ActivityOptions.makeSceneTransitionAnimation(getActivity(), pairs);
                }
    
                Intent i = new Intent(getActivity(), ItemDetailActivity.class);
                i.putExtra("item_name", "item 2");
                if (options != null) {
                    startActivity(i, options.toBundle());
                } else {
                    startActivity(i);
                }
    

    This worked for me! Thanks..

    0 讨论(0)
  • 2020-12-16 17:32

    I finally found the answer, the startActivity calling method is different. You have to call

    startActivityFromFragment(fragment, intent, req_code, options.toBundle());
    

    from the AppCompactActivity

    0 讨论(0)
  • 2020-12-16 17:36

    Fragment to Activity is the same as Activity to Activity, Because your Fragment is inside an Activity.

    0 讨论(0)
  • 2020-12-16 17:56

    I had the same problem, I couldn't find anything that helps sorry, but maybe you should reconsider why would you need a Fragment to Activity relation when you could work with a Fragment to Fragment or Activity to Activity relation.

    I've solved my problem that way changing my code to a Fragment to Fragment relation and there is plenty documentation and examples about that Shared Element Transitions

    0 讨论(0)
提交回复
热议问题