您需要从链接的问题中定义“滑动”动画,以及一些新的“向下滑动”动画,从而扭转过程。
动画的重要部分是fromYDelta和toDeta值。它们在开始时定义Y位置(您的视图的顶部)结束动画。
slide_in_up.xml
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="100%p"
android:toYDelta="0%p" />
slide_out_up.xml
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0%p"
android:toYDelta="-100%p" />
slide_in_down.xml
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="-100%p"
android:toYDelta="0%p" />
slide_out_down.xml
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0%p"
android:toYDelta="100%p" />
对于“滑动”动画,您应该覆盖您的onResume()方法中的待处理转换,如下所示:
protected void onResume()
{
super.onResume();
overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up);
}
对于“滑动”动画,请在您的onPause()方法中执行类似的操作:
protected void onPause()
{
super.onPause();
overridePendingTransition(R.anim.slide_in_down, R.anim.slide_out_down);
}
一些教程建议使用错误的生命周期方法:
每次显示活动时,都不会调用onCreate()
> onDestroy()每次被删除时都不会被调用
而是使用每次屏幕转换时调用的方法:
>当向用户显示活动时,调用onResume()
> onPause()在活动将被删除时被调用
有关这些方法的更多信息,请查看Android开发人员网站:
当您的屏幕显示时,它将从底部滑入。
当显示新屏幕时,您的屏幕将向下滑动。