从OverrideDemoActivity跳转到ActivityA。
OverrideDemoActivity:
package com.practice.override;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class OverrideDemoActivity extends Activity {
Button button;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(OverrideDemoActivity.this,ActivityA.class);
startActivity(intent);
/*
* 第一个参数是指启动的Activity的动画方式,第二个参数是finish的Activity的动画方式
* 这里启动的是ActivityA,所以就是ActivityB以R.anim.demo_scale这个动画方式启动
* 而OverrideDemoActivity这个则以R.anim.demo_rotate动画finish
*/
overridePendingTransition(R.anim.demo_scale, R.anim.demo_translate);
}
});
}
}
ActityA:
package com.practice.override;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ActivityA extends Activity{
Button button;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
finish();
overridePendingTransition(R.anim.demo_scale, R.anim.demo_translate);
}
});
}
}
在res目录下面新建anim目录,然后新建demo_scale.xml:
<?xml version="1.0" encoding="utf-8"?>
<set android:shareInterpolator="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="0"
android:toXScale="1.0"
android:fromYScale="0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
/>
</set>
接着再建立一个xml文件demo_translate.xml:
<?xml version="1.0" encoding="utf-8"?>
<set android:shareInterpolator="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="150"
android:fromYDelta="0"
android:toYDelta="150"
android:duration="3000"
/>
</set>
OverrideDemoActivity:
package com.practice.override;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class OverrideDemoActivity extends Activity {
Button button;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(OverrideDemoActivity.this,ActivityA.class);
startActivity(intent);
/*
* 第一个参数是指启动的Activity的动画方式,第二个参数是finish的Activity的动画方式
* 这里启动的是ActivityA,所以就是ActivityB以R.anim.demo_scale这个动画方式启动
* 而OverrideDemoActivity这个则以R.anim.demo_rotate动画finish
*/
overridePendingTransition(R.anim.demo_scale, R.anim.demo_translate);
}
});
}
}
ActityA:
package com.practice.override;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ActivityA extends Activity{
Button button;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
finish();
overridePendingTransition(R.anim.demo_scale, R.anim.demo_translate);
}
});
}
}
在res目录下面新建anim目录,然后新建demo_scale.xml:
<?xml version="1.0" encoding="utf-8"?>
<set android:shareInterpolator="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="0"
android:toXScale="1.0"
android:fromYScale="0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
/>
</set>
接着再建立一个xml文件demo_translate.xml:
<?xml version="1.0" encoding="utf-8"?>
<set android:shareInterpolator="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="150"
android:fromYDelta="0"
android:toYDelta="150"
android:duration="3000"
/>
</set>