LocalActivityManager使用动画销毁活动



我想在活动回调方法时添加动画效果。我使用activityGroup来实现activitymanager,并使用LocalActivityManager来启动和支持任何活动。

当开始一个活动时,添加动画使用以下代码

public static void startActivity(Intent intent, String id) {
    View view = mLocalActivityManager.startActivity(id,
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
    Animation hyperspaceJump = AnimationUtils.loadAnimation(mActivityGroup,
            R.anim.dync_in_from_right);
    view.startAnimation(hyperspaceJump);
    view.setTag(id);
    mPreviousActivityTag = getCurrentActivityTag();
    mViewContainer.addView(view);
}

但是我不知道当一个活动返回到启动cur活动的那个活动时,如何添加动画效果。返回方法类似于

public static void removeCurrentActivity() {
    String tag = getCurrentActivityTag();
    if (com.ct.ipaipai.global.Utily.isStringEmpty(tag) == false) {
        int cnt = getActivityCount();
        mViewContainer.removeViewAt(cnt - 1);
        View view = mLocalActivityManager.destroyActivity(tag, true).getDecorView();
    }
}

有人知道吗?

感谢

我不知道你在使用哪个ActivityGroup,但当我过去有时使用ActivityGroup时,我做了类似于的事情

String tag = getCurrentActivityTag();
LocalActivityManager manager = getLocalActivityManager();
Animation animation = null;
animation = AnimationUtils.loadAnimation(this, R.anim.de_rail);
Window oldWindow = manager.getCurrentActivity().getWindow();
if(oldWindow != null)
{
    View v =oldWindow.getDecorView();
    v.setBackgroundResource(R.drawable.app_pink_background);
    v.startAnimation(animation);                
}
manager.destroyActivity(tag, true);
// now set old Activity View
Intent lastIntent = manager.getActivity(lastId).getIntent();
Window newWindow = manager.startActivity(lastId, lastIntent);
if(newWindow != null)
{
    View view = newWindow.getDecorView();
    setContentView(view);           
}

其中R.anim.de_rail,实际上是de_rail.xml,是这样的:

<?xml version="1.0" encoding="utf-8"?>
<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0%p"
    android:toXDelta="100%p"
    android:duration="400" />

你可以在这里找到我的修改版本。它在开始子Activity和结束子Activity上显示动画。

相关内容

  • 没有找到相关文章

最新更新