本篇博客主要介绍如何使用overridePendingTransition实现activity之间的切换动画,具体的实现也很简单,可以说基本上没有什么代码!!废话不多说,先看下一按效果图:
animation的xml文件:
- activity_in_1.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0" />
<translate
android:fromXDelta="0"
android:fromYDelta="-100%p"
android:toXDelta="0"
android:toYDelta="0" />
</set>
- activity_in_2.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
- activity_out_1.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0" />
<translate
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="0"
android:toYDelta="100%p" />
</set>
- activity_out_2.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
然后在activity中使用一下就可以了,记住,overridePendingTransition必须在startActivity或者finish方法之后调用,其中overridePendingTransition传入两个参数,第一个为activity的加入窗口的动画,第二个为当前activity退出动画,关于动画方面的只是就不在这里讲解了,在前面一系列的博客中都已经说明了!!
是不是使用起来很简单,但是每次做动画的时候,状态栏和导航栏也会一起跟着做动画,所以就产生了第一幅效果图中的黑色长条,感觉很不美观!!!
但是我现在没什么方法可以解决这个问题,有哪位大神知道可以指点我一下!!在这里,小弟我就不胜感激了!!!
这是我的微信公众号,如果可以的话,希望您可以帮忙关注一下,这将是对我最大的鼓励了,谢谢!!
代码地址: