activity切换可以使用代码:
overridePendingTransition(enterAnim, exitAnim);
今天讲的主要是使用theme方式来做(我这里以像微信点击图片放大,再点击图片缩小退出动画为例):
样式文件里增加自定义样式styles.xml
<!-- 查看大图的Activity效果 --> <style name="My.Animation.Activity.Translucent.Style" parent="@android:style/Animation.Translucent"> <item name="android:activityOpenEnterAnimation">@anim/head_in</item> <item name="android:activityOpenExitAnimation">@anim/head_out</item> <item name="android:activityCloseEnterAnimation">@anim/head_in</item> <item name="android:activityCloseExitAnimation">@anim/head_out</item> <item name="android:windowEnterAnimation">@anim/head_in</item> <item name="android:windowExitAnimation">@anim/head_out</item> </style> <!-- 显示大图片 android:Theme.Translucent.NoTitleBar--> <style name="ImageScale" parent="@android:style/Theme.Light"> <item name="android:windowAnimationStyle">@style/My.Animation.Activity.Translucent.Style</item> <!-- 无标题 --> <item name="android:windowNoTitle">true</item> <!-- 设置全屏显示 --> <item name="android:windowFullscreen">false</item> <!-- 边框 --> <item name="android:windowFrame">@null</item> <!-- 是否浮现在activity之上 --> <item name="android:windowIsFloating">false</item> <!-- 透明 --> <item name="android:windowIsTranslucent">true</item> <item name="android:windowBackground">@color/transparent</item> <!-- 模糊 --> <item name="android:backgroundDimEnabled">true</item> </style>
使用时简单,AndroidManifest.xml直接设置theme:
<activity android:name="com.yiduoyun.tiku.activity.ViewImageActivity" android:configChanges="orientation|keyboardHidden|navigation" android:theme="@style/ImageScale" android:launchMode="singleTask" android:screenOrientation="portrait" />
这里要注意的是自定义样式My.Animation.Activity.Translucent.Style继承了android:style/Animation.Translucent,在android:style/Animation.Translucent里面有定义动画样式:
<style name="Animation.Translucent"> <item name="windowEnterAnimation">@anim/translucent_enter</item> <item name="windowExitAnimation">@anim/translucent_exit</item> </style>
故得重写它,才不会受它影响:
<item name="android:windowEnterAnimation">@anim/head_in</item> <item name="android:windowExitAnimation">@anim/head_out</item>
一般activity动画切换只要重写如下样式即可:
<item name="android:activityOpenEnterAnimation">@anim/head_in</item> <item name="android:activityOpenExitAnimation">@anim/head_out</item> <item name="android:activityCloseEnterAnimation">@anim/head_in</item> <item name="android:activityCloseExitAnimation">@anim/head_out</item>
另转:
看了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设定。
相关推荐
android activity切换动画效果大全,包括六个经典例子: 1、25个activity切换的动画效果; 2、android activity 切换效果库(劲推荐); 3、Android_Activity之间切换动画; 4、Android改变Activity切换效果; 5、...
提供多种方式的activity切换动画的实现,并封装为基类,方便使用
Android中Activity切换动画,是非常常见的,在很多手机中,直接就有自带的效果,但是有些没有,我写了一个例子供大家下载,交流
两个activity之间切换动画全集, overridePendingTransition(R.anim.fade, R.anim.hold);
Android的Activity切换动画特效库SwitchLayout,视图切换动画库,媲美IOS
Activity之间相互切换动画,解决了back键时后退动画的问题
酷炫的Activity切换动画,打造更好的用户体验,包含慧教育框架
Activity切换动画--模糊、水波纹、折叠效果
activity切换动画,实现自定义切换动画。。。。。。。。。。。。。
android activity切换动画效果,定义了多种,如果需要,可以仿照着自己定义
activity 切换动画 eclipse
activity切换动画与页面切换动画视频教程 黑马训练营 先更改后缀名为avi
Android Activity切换动画效果
黑马程序员_Android核心基础视频教程_activity切换动画与页面切换动画.avi 黎活明讲解
介绍:用ViewDragHelper实现的activity切换动画。运行效果:使用说明: 你可以将这个库当成view来用:将DraggerView添加到root layout,并且在里面加入两个layout。 android:layout_width="match_parent" ...
Dragger android 的Activity切换动画大全.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
简单到Fragment切换动画例子 , 借鉴于http://www.cnblogs.com/mengdd/p/3494041.html
Android手势操作和Activity切换动画Demo。学生练习Demo。包含GestureDetector手势操作的使用,Activity切换时带有动画效果。
一些Activity切换动画,Layout动画,View动画例子, 为了让安卓应用在使用的时候显得更加舒心应该学习下动画了... 详细说明参考:http://blog.csdn.net/cboy017/article/details/9383017