首先看代码

<style name="Animation.Activity">
   <!--A打开B,B的出现动画-->
<item name="activityOpenEnterAnimation">@anim/activity_open_enter</item> <!--A打开B,A的消失动画-->
<item name="activityOpenExitAnimation">@anim/activity_open_exit</item>
<!--A关闭B,B的出现动画-->
<item name="activityCloseEnterAnimation">@anim/activity_close_enter</item> <!--A关闭B,A的消失动画--> <item name="activityCloseExitAnimation">@anim/activity_close_exit</item>
</style>

现在我们有两个activity:

VzGalleryActivity(启动者)

AlbumActivity(被启动者)

他们的style分别如下

<style name="PhotoGridLayout">
<item name="android:drawSelectorOnTop">true</item>
<item name="android:listSelector">@drawable/photogrid_list_selector</item>
</style>
<!-- Vanzo:zhangshuli on: Fri, 27 Mar 2015 16:34:18 +0000
-->
<style name="AppTheme.Album" parent="@style/AppTheme">
<item name="android:windowAnimationStyle">@style/AnimBottom.Album</item>
</style> <style name="AppTheme.VzGallery" parent="@style/AppTheme.Main">
<item name="android:windowAnimationStyle">@style/AnimBottom.VzGallery</item>
</style> <style name="AnimBottom.VzGallery" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_bottom_out</item>
<item name="android:activityOpenExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_bottom_out</item>
</style>
<style name="AnimBottom.Album" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_bottom_enter</item>
<item name="android:activityOpenExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseExitAnimation">@anim/push_bottom_enter</item>
<item name="android:activityCloseEnterAnimation">@anim/push_bottom_out</item>
</style>

两个启动动画分别为

out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" > <translate
android:duration="1000"
android:fromYDelta="0"
android:toYDelta="100%p"
/>
<alpha
android:duration="1000"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>

enter.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" > <translate
android:duration="1000"
android:fromYDelta="100%p"
android:toYDelta="0"
/>
<alpha
android:duration="1000"
android:fromAlpha="0"
android:toAlpha="1.0" />
</set>

1)我们更改动画如下

<style name="PhotoGridLayout">
<item name="android:drawSelectorOnTop">true</item>
<item name="android:listSelector">@drawable/photogrid_list_selector</item>
</style>
<!-- Vanzo:zhangshuli on: Fri, 27 Mar 2015 16:34:18 +0000
-->
<style name="AppTheme.Album" parent="@style/AppTheme">
<item name="android:windowAnimationStyle">@style/AnimBottom.Album</item>
</style> <style name="AppTheme.VzGallery" parent="@style/AppTheme.Main">
<item name="android:windowAnimationStyle">@style/AnimBottom.VzGallery</item>
</style> <style name="AnimBottom.VzGallery" parent="@android:style/Animation.Activity"> </style>
<style name="AnimBottom.Album" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_bottom_enter</item> </style>

当,vz启动al的时候,al 有动画效果,

其他情况下,vz,al均没有效果

2)更改如下

<style name="AppTheme.Album" parent="@style/AppTheme">
<item name="android:windowAnimationStyle">@style/AnimBottom.Album</item>
</style> <style name="AppTheme.VzGallery" parent="@style/AppTheme.Main">
</style> <style name="AnimBottom.VzGallery" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_bottom_out</item>
<item name="android:activityOpenExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_bottom_out</item>
</style>
<style name="AnimBottom.Album" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_bottom_enter</item>
<item name="android:activityOpenExitAnimation">@anim/push_bottom_out</item>
</style>

vz启动al时候,al跟vz都有动画效果,vz消失动画效果,al出现动画效果

其他情况下没有动画效果(包括al启动其他activity)

3)更改如下

<style name="AppTheme.Album" parent="@style/AppTheme">
<item name="android:windowAnimationStyle">@style/AnimBottom.Album</item>
</style> <style name="AppTheme.VzGallery" parent="@style/AppTheme.Main">
</style> <style name="AnimBottom.VzGallery" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_bottom_out</item>
<item name="android:activityOpenExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_bottom_out</item>
</style>
<style name="AnimBottom.Album" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_bottom_enter</item>
<item name="android:activityOpenExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_bottom_out</item>
</style>

当打开al的时候,al,vz都有动画

但是,关闭al的时候,他们都没有动画

接着,我们通过al,打开另一个activity,al,跟另一个activity没有动画,

最后,我们关闭al打开的activity的时候,al有动画,其他相关activity没有动画

4)更改如下

<style name="AppTheme.Album" parent="@style/AppTheme">
<item name="android:windowAnimationStyle">@style/AnimBottom.Album</item>
</style> <style name="AppTheme.VzGallery" parent="@style/AppTheme.Main">
</style> <style name="AnimBottom.VzGallery" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_bottom_out</item>
<item name="android:activityOpenExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_bottom_out</item>
</style>
<style name="AnimBottom.Album" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_bottom_enter</item>
<item name="android:activityOpenExitAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_bottom_out</item>
<item name="android:activityCloseExitAnimation">@anim/push_bottom_enter</item>
</style>

打开al的时候,al,vz都有动画

关闭al的时候,都没有动画

al打开另外一个activity的时候,都没有动画

当另一个activity结束的时候,al跟另一个activity都有动画

我们可以得出如下结论

(1)这四个属性,针对的都是自己

(2)open属性,是自己被打开的时候的相关动画,也就是自己出现的时候(被打开),其实就是自己跟父activity的动画情况

close属性,是自己消失的时候的动画属性(打开别人),其实就是自己跟子activity的动画情况

(3)enter属性,是出现在屏幕中,自己或者跟自己相关的其他activity

exit属性,是退出屏幕,自己或者跟自己相关的activity

theme-windowAnimationStyle 动画四个方法的意义的更多相关文章

  1. C#播放声音的四种方法 +AxWindowsMediaPlayer的详细用法

    C#播放声音的四种方法 第一种是利用DirectX 1.安装了DirectX SDK(有9个DLL文件).这里我们只用到MicroSoft.DirectX.dll和 Microsoft.Directx ...

  2. WPF编程,通过Path类型制作沿路径运动的动画一种方法。

    原文:WPF编程,通过Path类型制作沿路径运动的动画一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/de ...

  3. 成为Linux内核高手的四个方法

    首页 最新文章 资讯 程序员 设计 IT技术 创业 在国外 营销 趣文 特别分享 更多 > - Navigation -首页最新文章资讯程序员设计IT技术- Java & Android ...

  4. Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究

    Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究 一丶反射 什么是反射: ​ 反射的概念是由Smith在1982年首次提出的 ...

  5. JavaScript数据类型判断的四种方法

    码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14416375.html 本文分享了JavaScript类型判断的四种方法:typeo ...

  6. js中判断数据类型的四种方法总结

    js中判断数据类型的四种方法 前言 在js中,我们经常需要判断数据的类型,那么哪些方法可以用来判断数据的类型呢?哪种方法判断数据类型最准确呢? 我们来一个个分析: 1.typeof typeof是一个 ...

  7. 两个变量交换的四种方法(Java)

    对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) class TestEV //创建一个类 { public static ...

  8. 织梦DedeCMS模板防盗的四种方法

    织梦(DedeCMS)模板也是一种财富,不想自己辛辛苦苦做的模板被盗用,在互联网上出现一些和自己一模一样的网站,就需要做好模板防盗.本文是No牛收集整理自网络,不过网上的版本都没有提供 Nginx 3 ...

  9. 让一个图片在div中居中(四种方法)

    第一种方法: <div class="title"> <div class="flag"></div> <div cl ...

随机推荐

  1. Tomcat部署项目修改浏览器上猫咪头像

    一.发现问题用tomcat部署项目,在浏览器标签也上发现了tomcat猫咪图.要把这个图修改掉. 二.解决问题apache-tomcat-5.5.28\webapps\ROOT下的ico文件,将需要替 ...

  2. 今日SGU 5.23

    SGU 223 题意:给你n*n的矩形,放k个国王,每个国王不能放在别的国王的8连边上,问你有多少种方法 收获:状态DP,因为每行的放置只会影响下一行,然我们就枚举每行的状态和对应的下一行的状态,当两 ...

  3. 使用 docker 安装多版本的 MySQL

    原文:使用 docker 安装多版本的 MySQL 首先从 docker 官网下载安装 docker. 检查 docker 安装是否成功,出现类似下面的信息就是安装好了 $ docker versio ...

  4. JavaScript-原型&原型链&原型继承

    JavaScript-原型&原型链&原型继承 JavaScript的原型是一个重要的知识点,很多扩展应用都是从原型出发的.要说原型,我们先简单说一下函数创建过程.上一篇文章用闭包实现类 ...

  5. 【Henu ACM Round#17 D】Hexagons!

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 题目的图吓人. 找下规律就会发现从内到外是1,6,12,18 即1,16,26,36... 即1+6(1+2+3+...) 等差求和 ...

  6. 【CS Round #37 (Div. 2 only) A】Boring Number

    [Link]:https://csacademy.com/contest/round-37/task/boring-number/ [Description] 让你找离平均数最近的一个数的下标; [S ...

  7. 【Uva 1625】Color Length

    [Link]: [Description] 给你两个序列,都由大写字母组成; 每次,把两个序列中的一个的开头字母加在字符串的尾端,然后在那个序列中删掉那个开头字母; 最后得到一个字符串; 这个字符串显 ...

  8. 洛谷 P3670 [USACO17OPEN]Bovine Genomics S奶牛基因组(银)

    P3670 [USACO17OPEN]Bovine Genomics S奶牛基因组(银) 题目描述 Farmer John owns NN cows with spots and NN cows wi ...

  9. 慢慢人生路,学点Jakarta基础-集合类

    动态改变内存 因为数组在存储之前需要先申请一块连续的内存空间并且在编译的收就必须确定好它的空间大小,在运行时控件的大小无法再随着需求的改变而改变,极易出现越界的情况,数据少时又会造成内存空间浪费. 主 ...

  10. solr简介

    Solr 是什么? Solr它是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中. Solr 提供了层面搜索(就是统计).命中醒目显示并且支持多种输出格式(包 ...