android:同时在动画效果的第一个活动和下一个活动

时间:2013-02-27 05:32:50

标签: android animation android-activity

我解决了。如果你需要帮助,这是我的电子邮件:emmets@foxmail.com

xml layout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<RelativeLayout
    android:id="@+id/newLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</RelativeLayout>

<RelativeLayout
    android:id="@+id/oldLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</RelativeLayout>

java代码,需要扩展ActivityGroup:

LocalActivityManager localLocalActivityManager = getLocalActivityManager();
    paramIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    Window localWindow = localLocalActivityManager.startActivity("flag", NewActivity.class);
    localWindow.addFlags(1);
    View localView = localWindow.getDecorView();
    localView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
    newLayout.addView(localView);
 dAnimation upOut = AnimationUtils.loadAnimation(this, R.anim.push_up_out);
     Animation zoomEnter = AnimationUtils.loadAnimation(this, R.anim.zoom_enter);
newLayout.startAnimation(zoomEnter);
oldLayout.startAnimation(upOut);

1 个答案:

答案 0 :(得分:1)

试试这段代码

button.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

            final View l = findViewById(R.id.main);

            Animation a = AnimationUtils.loadAnimation(
                    YourActivity.this, android.R.anim.fade_out);
            a.setDuration(200);
            a.setAnimationListener(new AnimationListener() {

                public void onAnimationEnd(Animation animation) {
                        // Do what ever you need, if not remove it.  
                }

                public void onAnimationRepeat(Animation animation) {
                        // Do what ever you need, if not remove it.  
                }

                public void onAnimationStart(Animation animation) {
                        // Do what ever you need, if not remove it.  
                }

            });
            l.startAnimation(a);
        }
    });