我正试图用幻灯片动画切换我的片段
使用此代码:
FragmentManager manager = getSupportFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); SearchPanelFragment existingFragment = (SearchPanelFragment) manager.findFragmentByTag(SearchPanelFragment.FRAGMENT_NAME); transaction.setCustomAnimations(R.xml.slide_down_search_panel,R.xml.slide_up_search_panel); if (existingFragment != null) { if (existingFragment.isVisible()) transaction.remove(existingFragment); } else { transaction.add(R.id.top_panel_fragment,new SearchPanelFragment(this),SearchPanelFragment.FRAGMENT_NAME); } transaction.commit();
到目前为止,我只在transaction.add上输入动画.何时退出动画播放?我只能在使用transaction.replace时才能得到它,但后来我只是用一个相同的新片段交换一个旧片段,我想要的是隐藏/删除/分离/无论它是什么使它消失,并且退出动画播放
编辑:我试图隐藏,删除和分离.无论我做什么,动画都不会播放.它只在添加,显示和替换时播放
编辑2:
第二个动画可能有问题.请看看他们两个.第一个滑下来,似乎工作得很好.
滑下
<translate android:duration="500" android:fromXDelta="0%" android:fromYDelta="-100%" android:toXDelta="0%" android:toYDelta="0%" />
向上滑动
<translate android:duration="700" android:fromXDelta="0%" android:fromYDelta="0%" android:toXDelta="0%" android:toYDelta="-100%" />
解决方法
编辑
The bug has been fixed as of June 7th 2013.我相信从修订版18开始,错误已得到修复.
如果您使用的是最新的支持库修订版,则不再是此问题
老答案
http://code.google.com/p/android/issues/detail?id=32405支持库中存在错误.获得它的唯一机会是获取支持库源并自行重新编译