安卓设置Activity切换动画无效的问题
生活随笔
收集整理的這篇文章主要介紹了
安卓设置Activity切换动画无效的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
做安卓App時,常會設置Activity之間切換的動畫。常用的方法有兩種,一種是用Activity的overridePendingTransition方法;另一種是用style文件通過xml進行設置。
一開始使用style的時候,我只設置了Window的動畫,在大部分手機上運行正常。后來有人反映在紅米手機上會有兩個動畫同時播放,產生很奇怪的效果。然后又找了一下,發現Activity的動畫也可以設置,于是對Activity的動畫效果進行設置。但是我發現只有Window的動畫設置了有效果,而Activity動畫設置了完全沒有效果。
這兩個Window的動畫屬性設置了有效果:
????????<item?name="android:windowEnterAnimation">@null</item> ????????<item?name="android:windowExitAnimation">@null</item>
這四個Activity的動畫屬性設置了沒有效果:
????????<!--?新的Activity啟動時Enter動畫?--> ????????<item?name="android:activityOpenEnterAnimation">@anim/slide_left_in</item> ????????<!--?新的Activity啟動時原有Activity的Exit動畫?--> ????????<item?name="android:activityOpenExitAnimation">@anim/keep</item> ????????<!--?新的Activity退出時原有ActivityEnter動畫?--> ????????<item?name="android:activityCloseEnterAnimation">@anim/keep</item> ????????<!--?新的Activity退出時Exit動畫?--> ????????<item?name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
修改嘗試了很多次都不行,還懷疑是手機系統被修改過的問題。但是別的程序在手機上運行似乎都很正常。后來又看了別的程序,發現就是那么設置的,并且運行正常。自己重新新建了一個項目,再次嘗試發現竟然可以。
回到原來的工程中查看,終于找到了原因,我用的Activity在Manifest中設置了SingleInstance屬性,所以Activity處于已經實例化的狀態,不會再被實例化,于是Activity動畫不會播放,只有Window動畫會播放。把這個屬性改成SingleTop就好了。
本文由PurpleSword(jzj1993)原創,轉載請注明 原文網址 http://blog.csdn.net/jzj1993
總結
以上是生活随笔為你收集整理的安卓设置Activity切换动画无效的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何从ios酷我音乐盒中导出已下载的音乐
- 下一篇: 安卓创建快捷方式相关问题 Intent