首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在FragmentManager上调用popBackStack时的customAnimation

在FragmentManager上调用popBackStack时的customAnimation
EN

Stack Overflow用户
提问于 2014-08-28 21:56:35
回答 1查看 16K关注 0票数 36

在我的活动中,通过触摸按钮,我使用自定义动画将当前片段替换为新片段,如本例所示。

代码语言:javascript
复制
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle presses on the action bar items
    switch (item.getItemId()) {
        case R.id.action_anomalie:
            Fragment contentFragment = getFragmentManager().findFragmentById(R.id.content);

            if(contentFragment instanceof AnomalieListFragment)
            {
                getFragmentManager().popBackStack();
                return true;
            }
            else
            {
                FragmentTransaction ft = getFragmentManager().beginTransaction();
                ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
                anomalieFragment = new AnomalieListFragment();
                ft.replace(R.id.content, anomalieFragment);
                ft.addToBackStack(null);
                ft.commit();
            }

    ...

但是,popping back the stack不显示任何动画。有没有一种方法可以像我们用setCustomAnimations方法在FragmentTransaction中那样指定自定义动画?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-29 23:21:55

在进一步阅读文档后,我发现使用setCustomAnimationthis签名允许在按back按钮或调用getFragmentManager().popBackStack();时播放动画

我这样修改了我的代码

代码语言:javascript
复制
...
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out, android.R.animator.fade_in, android.R.animator.fade_out);
anomalieFragment = new AnomalieListFragment();
ft.replace(R.id.content, anomalieFragment);
ft.addToBackStack(null);
ft.commit();
...
票数 107
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25550643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档