Jac*_*ień 7 android android-animation android-fragments
我正试图用幻灯片动画切换我的片段
使用此代码:
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();
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只进入transaction.add动画播出何时退出动画?我只能在使用时得到它,transaction.replace但后来我只是用一个相同的新片段交换一个旧片段,我想要的是隐藏/删除/分离/无论它是什么使它消失,并且退出动画播放
编辑:我试图隐藏,删除和分离.无论我做什么,动画都不会播放.它只在添加,显示和替换时播放
编辑2:第二个动画可能有问题.请看看他们两个.第一个滑下来,似乎工作得很好.
滑下
<translate
android:duration="500"
android:fromXDelta="0%"
android:fromYDelta="-100%"
android:toXDelta="0%"
android:toYDelta="0%" />
Run Code Online (Sandbox Code Playgroud)
向上滑动
<translate
android:duration="700"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="-100%" />
Run Code Online (Sandbox Code Playgroud)
你实际上使用了错误的功能.
根据以下文件setCustomAnimations(int enter, int exit):
设置特定的动画资源以针对在此事务中进入和退出的片段运行.弹出后栈时不会播放这些动画.
相反,你应该使用setCustomAnimations (int enter, int exit, int popEnter, int popExit):
设置特定的动画资源以针对在此事务中进入和退出的片段运行.在
popEnter和popExit动画将播放的输入/专弹出返回堆叠时退出操作.
该错误已于2013年6月7日修复.我相信从修订版18开始,该错误已得到修复.
如果您使用的是最新的支持库修订版,则不再是此问题
http://code.google.com/p/android/issues/detail?id=32405支持库中存在错误.获得它的唯一机会是获取支持库源并自行重新编译
| 归档时间: |
|
| 查看次数: |
7440 次 |
| 最近记录: |