android 设定activity的进入和退出效果

转载 2012年03月31日 14:10:47
看了android的源代码和资源文件,终于明白如何去修改设置Dialog和Activity的进入和退出效果了。设置Dialog首先通过getWindow()方法获取它的窗口,然后通过getAttributes()方法获得window的WindowManager.LayoutParams lp, lp有个公共属性windowAnimations, 只要把要实现的animation的id赋值给它就可以了。问题是这个animation应该怎么写呢,研究发现,窗口进入和退出的效果分别是通过@android:windowEnterAnimation和@android:windowExitAnimation两个item设定的,比如进入时的anim是@anim/dialog_enter, 退出的是@anim/dialog_exit, 则声明一个style为:

<style name="mydialog">

    <item name="@android:windowEnterAnimation">@anim/dialog_enter</item>

   <item name="@android:windowExitAnimation">@anim/dialog_exit</item>

</style>

然后把这个style的id传给lp.windowAnimations就行了。

     Activity的进入和退出效果可以通过@android:activityOpenEnterAnimation,@android:activityOpenExitAnimation,@android:activityCloseEnterAnimation,@android:activityCloseExitAnimation这几个item设定,第一个表示新的activity创建进入效果,第2个表示activity还没有finish()下退出效果,第3个表示上一个activity返回进入效果,第4个表示的是activity finish()之后退出效果...(好似有点乱了)。具体设置参考如下:

  <style name="myact">

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

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

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

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

  </style>

   <style name="mytheme" parent="@android:style/Theme"> 

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

  </style>

然后把mytheme这个style作为Activity的theme就行了,还有一个办法就是通过Acitvity获取它的window, 然后和设置dialog一样进行设置,因为归根到底是设置Window的layoutparams里的windowAnimations值。所以Activity的进入和退出效果也可以通过@android:windowEnterAnimation和@android:windowExitAnimation这两个item设定。

相关文章推荐

安卓设置Activity切换动画无效的问题

有次做App想设置Activity的切换动画时,只能用Window,怎么都不行,还怀疑是手机的问题 后来参考了别人的程序,发现就是那么设置的,于是新建了一个项目,再次尝试竟然就可以了 ...
  • jzj1993
  • jzj1993
  • 2014年09月04日 20:41
  • 4247

activity切换效果theme分析

1.关于博客动画效果制作 有很多有耐心,而且乐于分享的博友,不管是自己学习的经验还是研究成果都喜欢分享知识,尤其是技术的分享。看来我们都崇尚开源。对于技术类的文章,多数人喜欢先看到技术实现的效果,而后...

activity切换动画总结

转载请注明出处:http://blog.csdn.net/szyangzhen/article/details/47357237今天没事总结了一下activity切换动画相关知识,包括淡入淡出动画,左...

Andriod动画中windowEnterAnimation和activityOpenEnterAnimation的区别

转自:http://www.drovik.com/html/7258433323.html 在做android动画的过程中,遇到了设置动画的两个参数windowEnterAnimation和acti...

android转场动画windowAnimation和ActivityAnimation的区别

原文  http://www.cnphp6.com/archives/66922 android转场动画windowAnimation和ActivityAnimation的区别 显...

Android Activity切换动画overridePendingTransition

aa

android Activity 右进右出动画

效果 新进入的页面从右边滑入,当前页面从左边滑出,按下返回键的时候,当前页面从右边滑出,前一个页面从左边滑入。 分三步: 步骤一:写动画文件 res/anim/slide_in_lef...

设置Activity显示和关闭时的动画效果

设置Activity显示和关闭时的动画效果   通过overridePendingTransition方法可以设置Activity显示和关闭的动画效果。首先需要在res/anim目录中建立相应的...

Android学习之Activity深入

activitiy中打开一个Aactivitiy,Aactivitiy会走以下生命周期 onCreate–》onStart–》onResume–》A运行–》发出打开B的intent–》AonPaus...

Android中Activity跳转和切换动画 完美方案

android2.0以上 可以用overridePendingTransition(R.anim.translate_in, R.anim.translate_out);这个方法  切换动画 但麻烦的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 设定activity的进入和退出效果
举报原因:
原因补充:

(最多只允许输入30个字)