两个activity互相切换,第一个activity向上滑出页面,第二个从底部滑入。返回时,第二个滑回底部,第一个从页面上部滑入屏幕
自定义了四个动画
in_from_down.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="100%p"
android:toYDelta="0%p"
android:duration="1000">
</translate>
out_to_up.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="0%p"
android:toYDelta="-100%p"
android:duration="1000">
</translate>
revert_in_from_down.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="0%p"
android:toYDelta="100%p"
android:duration="1000">
</translate>
revert_out_to_up.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="-100%p"
android:toYDelta="0%p"
android:duration="1000">
</translate>
切换,用点击按钮实现
View.OnClickListener mylistener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.show_weather:
Intent intent = new Intent();
intent.setClass(MainActivity.this, WeatherActivity.class);
startActivity(intent);
//设置切换动画
overridePendingTransition(R.layout.out_to_up, R.layout.in_from_down);
break;
default:
break;
}
}
};
返回也用点击按钮实现
View.OnClickListener mylistener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.home_logo:
Intent intent = new Intent();
intent.setClass(WeatherActivity.this, MainActivity.class);
startActivity(intent);
//设置切换动画
overridePendingTransition(R.layout.revert_in_from_down, R.layout.revert_out_to_up);
break;
default:
break;
}
}
};