我为我的应用程序实现了共享元素转换,其中转换从主屏幕上的ViewPager中的片段(使用RecyclerView)开始,并再次扩展到全屏库视图在ViewPager中的片段内。这一切都工作正常,除非如果图像不完全可见,它会扩展到全屏幕之前在TabBar顶部。这里发生的事情:Android共享元素转换工具栏重叠
我进入转型看起来是这样的:
并退出:
android:transitionOrdering="together"
android:duration="500">
而在调活动我一直的共享元素回调得到这个:
View navigationBar = activity.findViewById(android.R.id.navigationBarBackground);
View statusBar = activity.findViewById(android.R.id.statusBarBackground);
if (navigationBar != null) {
names.add(navigationBar.getTransitionName());
sharedElements.put(navigationBar.getTransitionName(), navigationBar);
}
if (statusBar != null) {
names.add(statusBar.getTransitionName());
sharedElements.put(statusBar.getTransitionName(), statusBar);
}
终于在styles.xml为活动主题:
true
@transition/details_window_enter_transition
@transition/details_window_return_transition
我真的不明白是怎么工具栏(或动作条)可以通过过渡没有得到这种重叠被排除在外。也许有一种方法可以强制图像被剪切到顶部,以便在ToolBar下不会完全可见,并且只从可见矩形扩展。
我已经尝试将添加到动画的目标,但同样的事情仍然发生。
欢迎任何建议。
2017-06-11
Georgi