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设定。

Andriod动画中windowEnterAnimation和activityOpenEnterAnimation的区别

转自:http://www.drovik.com/html/7258433323.html 在做android动画的过程中,遇到了设置动画的两个参数windowEnterAnimation和acti...
  • shaaiwei521
  • shaaiwei521
  • 2014年12月03日 11:51
  • 4628

android转场动画windowAnimation和ActivityAnimation的区别

原文  http://www.cnphp6.com/archives/66922 android转场动画windowAnimation和ActivityAnimation的区别 显...
  • wangjia55
  • wangjia55
  • 2015年01月09日 16:54
  • 4055

activity切换效果theme分析

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

去掉activity默认动画效果的方法

很多手机都会自带一些Activity切换动画,项目中如果我们需要禁用掉系统Activity切换的动画,可以使用如下方法:一、重写Activity的Them中的windowAnimationStyle相...
  • catoop
  • catoop
  • 2015年07月29日 15:05
  • 8493

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

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

Actiivty设置统一过渡动画

我们知道为activity设置过渡动画可以在startActivity()或finish() 后重写下面方法设置过渡动画, //overridePendingTransition(R.anim....
  • you_see_what
  • you_see_what
  • 2016年08月04日 15:17
  • 305

android:windowIsTranslucent 和 activity 动画关系

true @anim/activit
  • yeziliuyang
  • yeziliuyang
  • 2017年10月10日 18:34
  • 199

android activity进入退出动画自定义

android activity进入退出动画自定义根据自己项目用到的总结了以下两种方法:方法一:自定义styles.xml文件,在AndroidManifest.xml清单文件中注册android:t...
  • SmilingGirl_
  • SmilingGirl_
  • 2016年06月21日 17:21
  • 3744

Android:去掉系统自带的Activity跳转动画,跳转无动画,返回无动画

首先,我需要在Activity跳转没有动画,返回的时候也没有动画,排除fragment。在网上参考了其他的博客,都只是实现了跳转无动画,并没有实现返回无动画。 后通过查阅,可以通过overridePe...
  • qq_24697659
  • qq_24697659
  • 2015年11月05日 11:18
  • 9565

设置Activity进入退出动画

其实设置Activity动画的根本也就是设置View的动画,因为Activity有一个根的View叫DecorView。下面介绍两种设置Activity的动画 1.修改Activity Theme ...
  • startFromWeb
  • startFromWeb
  • 2012年06月08日 15:10
  • 33821
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 设定activity的进入和退出效果
举报原因:
原因补充:

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