首先要在项目的res下创建一个anim包,然后再在这个包下创建你的进出动画风格Animation Resource File,File name 是给它起个名字Root element 后面填 translate ,上代码:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="100%p"
android:toYDelta="0%p"
android:duration="300">
<!--上下出只看Y轴与之对应左右只看X轴-->
<!--fromYDelta动画开始前的y轴坐标-->
<!--toYDelta动画结束后Y轴的坐标-->
<!--duration为动画持续的时长-->
</translate>
上面的代码就是Activity从屏幕的底下进入的
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0%p"
android:toYDelta="100%p"
android:duration="300">
</translate>
上面的代码是从屏幕的底下退出的
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="-100%"
android:toYDelta="0%"
android:duration="300">
</translate>
上面的代码则是从屏幕的顶部进入到屏幕的
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%p"
android:toXDelta="0%p"
android:duration="300">
</translate>
上面的代码则是从屏幕的左边进入
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="200%p"
android:toXDelta="100%p"
android:duration="300">
</translate>
上面的代码是从屏幕的右边进入
从上面的代码可以看出来同一个方向的进出只是交换了from和to的值
下面来说说把进和出做成一个页面的进出风格
在项目工程下的res下的values下的Styles.xml里面写下面的代码,再到需要跳转页面的地方引用这个风格就可以了
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="showDir" parent="android:Animation"> <!--风格名字 动画类型的风格-->
<item name="android:windowEnterAnimation">@anim/popup_top_in</item> <!--窗口进入的动画(@anim后面的是之前已经设置好的)-->
<item name="android:windowExitAnimation">@anim/popup_bottom_out</item> <!--窗口退出的动画-->
</style>
</resources>