我在一个 Activity 的 ViewPager 中有三个 fragment ,我想实现从一个 fragment 到另一个 Activity 的共享元素转换。过渡来自回收站 View ,该 View 位于 fragment 内,而 fragment 位于 Activity 内的 viewpager 内 Activity->ViewPager->Fragment->Recyclerview
我搜索了每个地方的互联网,但只有关于从一个 fragment 到另一个 fragment 以及一个 Activity 到另一个 Activity 的共享元素转换的信息。 没有关于fragment到activity过渡的内容
holder.poster.setTransitionName("posterX");
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) con,holder.poster,holder.poster.getTransitionName());
Log.e("Animation", "Success");
//startActivity((Activity) con,intent,options.toBundle());
c.startActivity(intent,options.toBundle());
在使用上面的代码时,第二个 Activity 启动但没有任何可见,例如第二个 Activity 包含一个 FAB,当点击 youtube 时启动。 我知道 FAB 在哪里,所以当我盲目点击时,youtube 正确启动但在第二个 Activity 中什么都看不到
D/ViewRootImpl: changeCanvasOpacity: opaque=true
它是 logcats 之一。 我认为这一定是问题所在!!
最佳答案
终于找到答案了,startActivity的调用方式不一样。 你必须打电话
startActivityFromFragment(fragment, intent, req_code, options.toBundle());
来自 AppCompactActivity
关于android - 如何共享元素从 fragment 过渡到 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38593474/