利用Theme自定义Activity进入退出动画

有没有觉得Activity的默认动画太快了或者太难看了。。

我原来使用Activity.overridePendingTransition来自定义Activity的进入动画,却发现没法定义退出的动画。结果就发现了强大的Theme和Style,之后还需要好好研究一下。

 

具体是这样子的:

在AndroidManifest里面,对于application和activity标签可以定义theme属性。如果对Application定义了某一个属性,那么会对所有的activity产生影响,当然你可以在activity中覆盖它。

 

<application android:theme="@style/ThemeActivity">   

 

然后在values/themes.xml中

 

<style name="ThemeActivity" mce_bogus="1">        

<item name="android:windowAnimationStyle">@style/AnimationActivity</item>          

<item name="android:windowNoTitle">true</item>      

</style>   

 

在values/styles.xml中

 

<style name="AnimationActivity" parent="@android:style/Animation.Activity" mce_bogus="1">    

<item name="android:activityOpenEnterAnimation">@anim/push_left_in</item>          

<item name="android:activityOpenExitAnimation">@anim/push_left_out</item>          

<item name="android:activityCloseEnterAnimation">@anim/push_right_in</item>          

<item name="android:activityCloseExitAnimation">@anim/push_right_out</item>      

</style>   

 

 

这样就可以了,至于anim中的动画,就自己定义啦,这个和普通的animation是一样的,如果不知道的话,请参见

 

http://developer.android.com/guide/topics/graphics/view-animation.html。

 

这种方式除了可以定义activity的animation之外,还有task,window出现和结束时候的动画,具体请参见

 

http://developer.android.com/reference/android/R.styleable.html#WindowAnimation

 

本人不明白的 mce_bogus="1" 是什么意思,去掉了也没有影响

posted @   mhx_pyw  阅读(279)  评论(0)    收藏  举报
编辑推荐:
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
阅读排行:
· 精选 4 款免费且实用的数据库管理工具,程序员必备!
· Cursor:一个让程序员“失业”的AI代码搭子
· 重生之我是操作系统(七)----内存管理(上)
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(6)
· 航天二院校园招聘面试记录:二八三厂
点击右上角即可分享
微信分享提示