一个anim搞定所有activity的切换动画

原创
2013/01/16 21:19
阅读数 1.9W

今天搞了那么久,终于研究出来了,我的要求是每个activity的切换动画都一样,第二不管是进入还是退出都要有动画,虽然有一个方法叫override....()方法,他只能保证你进入的时候有,但退出的时候是没有的,废话不多说.重点就是利用style在application中设置就ok了

首先先定义四个动画 anim_enter.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="100%p"
    android:toXDelta="0"
    android:fromYDelta="0"
    android:toYDelta="0"
    android:duration="400"
    >
</translate>

anim_exit.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"
    android:toXDelta="-100%p"
    android:fromYDelta="0"
    android:toYDelta="0"
    android:duration="400"
    >
</translate>

back_enter.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="-100%p"
    android:toXDelta="0"
    android:fromYDelta="0"
    android:toYDelta="0"
    android:duration="400"
    >
</translate>


back_exit.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"
    android:toXDelta="100%p"
    android:fromYDelta="0"
    android:toYDelta="0"
   android:duration="400"
    >
</translate>

第二在value  styles中写

    <!--全局activity切换动画  --> 
</style>
   <style name="ThemeActivity" mce_bogus="1">  
    <item name="android:windowAnimationStyle">@style/AnimationActivity</item>  
    <item name="android:windowNoTitle">true</item>  
</style>      
   <style name="AnimationActivity" parent="@android :style/Animation.Activity" mce_bogus="1">  
    <item name="android:activityOpenEnterAnimation">@anim/anim_enter</item>  
    <item name="android:activityOpenExitAnimation">@anim/anim_exit</item>  
    <item name="android:activityCloseEnterAnimation">@anim/back_enter</item>  
    <item name="android:activityCloseExitAnimation">@anim/back_exit</item>  
</style> 

最后就是在application中写上 android:theme="@style/ThemeActivity"   但是有一点很重要,在你配置activity中不要在写android:theme    因为你要写了就覆盖了上面的方法了.



关于这篇博文,我很郁闷的是在4.0系统上不支持.奔溃呀..唉 还没有找到解决的办法,再次对收藏的朋友们表示抱歉,因为我也是刚发现这个问题的

展开阅读全文
打赏
1
50 收藏
分享
加载中
LZ,4.0以上系统都不支持么?我的用了几天都可以,但是突然就不行了,请问有解决么?
2014/10/24 15:05
回复
举报
Thanks博主

引用来自“tmacsky”的评论

楼主我用了你的style后,我的项目里的9-patch图全部拉高了

不会吧

2014/04/15 15:20
回复
举报
楼主我用了你的style后,我的项目里的9-patch图全部拉高了
2014/04/11 17:30
回复
举报

引用来自“Thanks”的评论

引用来自“张神妹”的评论

这个可以有

呵呵 你用了吗? 我昨天搞出来的

楼猪 我腚你 加油
2013/01/17 18:52
回复
举报

引用来自“Thanks”的评论

引用来自“张神妹”的评论

这个可以有

呵呵 你用了吗? 我昨天搞出来的

我看了,楼猪 我腚你 2
2013/01/17 18:52
回复
举报
Thanks博主

引用来自“张神妹”的评论

这个可以有

呵呵 你用了吗? 我昨天搞出来的
2013/01/17 18:50
回复
举报
这个可以有
2013/01/17 18:48
回复
举报
更多评论
打赏
7 评论
50 收藏
1
分享
返回顶部
顶部