Eir*_*tou 5 android android-animation android-fragments
我有一个视图寻呼机,其中包含4个完全不同的片段.
从该寻呼机的片段A我想创建一个像这样的新片段:
Transition changeTransform = TransitionInflater.from(getActivity()).inflateTransition(R.transition.change_image_transform);
Transition explodeTransform = TransitionInflater.from(getActivity()).inflateTransition(android.R.transition.explode);
// Setup exit transition on first fragment
setSharedElementReturnTransition(changeTransform);
setExitTransition(explodeTransform);
// Setup enter transition on second fragment
PropertyFragment fragment = new PropertyFragment();
fragment.setSharedElementEnterTransition(changeTransform);
fragment.setEnterTransition(explodeTransform);
FragmentTransaction ft = getChildFragmentManager().beginTransaction()
.replace(R.id.container, fragment)
.addToBackStack(fragment.getFragmentTag())
.addSharedElement(icon, icon.getTransitionName())
.addSharedElement(text, text.getTransitionName());
ft.commit();
Run Code Online (Sandbox Code Playgroud)
R.id.Container是FragmentA的父RelativeRayout(不是活动的)R.transition.change_image_transform如下:
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeTransform />
<changeBounds />
<changeImageTransform/>
</transitionSet>
Run Code Online (Sandbox Code Playgroud)
片段事务工作,并发生explodeTransform.但是共享元素转换不起作用.就像他们甚至不在那里一样.我已尝试以编程方式创建转换而不是XML以及这些的所有组合:,我可以.什么都行不通.转换名称在两端都是正确的100%.
我也为事务尝试了getChildFragmentManager(),getactivity().getSupportFragmentManager(),但它也没有做任何改变.
当凝视片段不属于Viewpager时,转换也会起作用.所以问题就出现了.你有什么想法吗?我也发现了这一点:片段共享元素转换不适用于ViewPager,我认为它与我的相同,但该解决方案仅适用于Activity转换,因此它并没有真正帮助.
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |