【问题标题】:How to animate Activities of ActivityGroup如何为 ActivityGroup 的活动设置动画
【发布时间】:2011-08-17 10:08:24
【问题描述】:

我正在使用 ActivityGroup 并希望在新活动开始时进行 slide_in_up 过渡。 我目前正在使用overridePendingTransition(...) 方法,但它对动画没有影响。

这是我用来启动新 Activity 的 sn-p。

View view = MainGroup.group.getLocalActivityManager().startActivity(NewsFeedScreen.TAG, intent  
    .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
    .getDecorView();  

    MainGroup.group.replaceView(view, NewsFeedScreen.TAG);
    overridePendingTransition(R.anim.slide_in_up, 0);

这里 MainGroup 是 ActivityGroup,NewsFeedScreen 是我想从 slide_in_up 过渡开始的 Activity。

我搜索了很多,但没有找到任何解决方案。如果有人有类似问题的解决方案,请帮助。 谢谢

【问题讨论】:

    标签: android animation transition activitygroup


    【解决方案1】:

    我为此使用了 ViewAnimator。这是我的解决方案的一部分:

    final Window window = mLocalActivityManager.startActivity(pId, pIntent);
    final View view = window != null ? window.getDecorView() : null;
    if (view != null) {
        mViewAnimator.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.pull_right_in));
        mViewAnimator.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
        mViewAnimator.addView(view);
        mViewAnimator.showNext();    
    }
    

    当我返回上一个活动时,我使用 showPrevious() 然后删除视图。

    【讨论】:

    • 通过使用 ViewAnimator,您的解决方案看起来比其他解决方案更好(例如 stackoverflow.com/questions/6532678/… 。但是,您能否详细说明您的代码并解释 ViewAnimator 正在做什么以及它的生命周期和在 ActivityGroup 中的作用?
    • 感谢 Mokus,没有直接使用您的答案,但它为解决我的问题提供了新思路:-)
    • 今天我不再使用 ActivityGroup 和 ViewAnimator,而是使用 Fragments,因为它们更容易处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    相关资源
    最近更新 更多