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设定。
相关推荐
总结来说,Activity切换动画是Android开发中的一个重要方面,它能够增强应用的视觉表现力和用户体验。通过理解和熟练运用Android提供的动画机制,开发者可以创建出各种个性化的动画效果,同时解决特定场景下的动画...
本文将深入探讨如何在Android中实现Activity切换动画,以及如何使用`overridePendingTransition()`方法来定制这些动画。 一、Activity切换动画类型 1. 标准动画:Android系统默认提供了几种简单的动画,如淡入淡出...
本文将深入探讨多种Activity切换动画的实现方法,并介绍如何将其封装为基类以便于在项目中复用。 一、自定义动画 1. 使用Transition动画:Android提供了Transition框架,允许开发者创建和控制视图之间的过渡动画。...
android activity切换动画效果大全,包括六个经典例子: 1、25个activity切换的动画效果; 2、android activity 切换效果库(劲推荐); 3、Android_Activity之间切换动画; 4、Android改变Activity切换效果; 5、...
以下是对Android中Activity切换动画的详细说明: 1. **标准动画** Android系统默认提供了几种基本的切换动画,如淡入淡出、滑动等。这些动画可以通过在Manifest.xml文件中的`<activity>`标签内设置`android:...
本文将详细讲解如何实现“模糊”、“水波纹”以及“折叠”效果的Activity切换动画。 首先,我们要理解Activity切换动画的基本原理。在Android中,Activity的切换可以通过`overridePendingTransition()`方法来自定义...
酷炫的Activity切换动画不仅能提升应用的视觉效果,还能为用户提供更流畅、更具吸引力的交互体验。"慧教育框架"可能是一个专门针对教育领域的Android框架,它可能集成了各种教育资源和功能,旨在帮助开发者轻松构建...
Activity之间的切换是用户与应用交互的重要部分,而“activity切换动画”则可以让这个过程更加吸引人,提升用户体验。本文将深入探讨如何实现自定义的Activity切换动画。 在Android系统中,通过设置Window的...
本示例"Fragment,Activity切换动画demo"将展示如何实现这样的功能。 首先,我们要理解Fragment和Activity的基本概念。Activity是Android应用中的一个独立运行单元,它可以包含一个或多个Fragment。Fragment有自己...
总结来说,Android提供了多种方式来实现Activity切换动画,开发者可以根据项目需求选择适合的方法,利用Android的动画机制为用户带来更出色的视觉体验。通过熟练掌握这些动画技术,不仅可以提升应用的美观度,还能...
首先,了解Activity切换动画的基本类型。Android提供了两种基本动画类别:进入(Entrance)和退出(Exit)动画,以及共享元素(Shared Element)动画。进入和退出动画分别应用于当Activity启动和关闭时,而共享元素...
本篇将深入探讨Android中Activity切换动画的实现与应用。 首先,Android提供两种类型的动画:视图动画(View Animation)和属性动画(Property Animation)。视图动画主要用于改变对象的视觉外观,但不实际改变对象...
标题提到的"Draggerandroid的Activity切换动画大全"是一个专门针对Android应用中Activity切换时动画效果的集合。这个压缩包可能包含了一系列实现不同动画效果的代码示例,旨在帮助开发者理解和实践Android中的动画...
本资源提供的"android Activity间切换动画效果演示源码"涵盖了模糊、水波纹以及折叠等多种动态效果,旨在帮助开发者了解并实现各种复杂的Activity切换动画。 1. **Activity切换动画基础** Android中的Activity切换...
首先,我们了解Activity切换动画的基本原理。在Android中,可以使用`overridePendingTransition()`方法来设置Activity切换时的动画。这个方法通常在`startActivity()`或`finish()`之后调用,传入两个动画资源ID,...
本教程将深入探讨如何在Android中实现Activity切换动画效果。 首先,我们需要了解Activity切换动画的两种基本类型:进入(Enter)动画和退出(Exit)动画。进入动画是指当新的Activity显示时发生的动画,而退出动画...
`SwitchLayout`就是这样一个专门用于实现Activity切换时动画特效的库,它的目标是为Android应用带来与iOS类似的平滑和优雅的视图切换效果。本文将深入探讨`SwitchLayout`的原理、使用方法以及如何将其集成到你的...
activity切换动画与页面切换动画视频教程 黑马训练营 先更改后缀名为avi
本文将深入探讨如何在Android中实现Activity切换动画,包括从左边、右边、上边和下边进入的动画效果。 首先,Android提供了两种类型的动画:视图动画(View Animation)和属性动画(Property Animation)。视图动画...