activity动画主题使用注意事项
当我们不满足于系统默认的activity动画交互方式,我们可以通过在主题里面,指定activity动画样式来实现自定义交互效果。
在style里面定义样式
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style> <style name="AppTheme.upDown" parent="AppTheme">
<item name="android:windowAnimationStyle">@style/activityAnimationUpDown</item>
</style>
<style name="activityAnimationUpDown" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/slide_in_bottom</item>
<item name="android:activityOpenExitAnimation">@anim/slide_out_top</item>
<item name="android:activityCloseEnterAnimation">@anim/slide_in_top</item>
<item name="android:activityCloseExitAnimation">@anim/slide_out_bottom</item>
</style>
在androidManifest.xml里面,对指定的activity使用该主题
<activity
android:name=".Main2Activity"
android:theme="@style/AppTheme.upDown" ></activity>
这四个属性容易不好记,按照顺序我们简单的记忆口诀是“新进、旧出;旧进、新出”;
不用担心顺序搞混的问题,android studio重新排版的顺序就是按照这个顺序来的。
当新、旧两个activity都是用这个动画主题时,进入、退出动画是正常的。(这种情况一般都是我们在Application里面统一指定的所有activity的交互动画。)
一旦两者之中,所使用的动画主题不一致的时候,交互就出现问题了。
具体为:
旧activity没有、新activity有主题;进入动画用新的,退出动画用旧的 (退出动画“失效”)
旧activity有主题,新activity没有:进入动画用旧的, 退出动画用新的 (进入动画“失效”)
很多都是第二种情况,那么如何让退出动画产生效果呢,代码如下:
void finishActivity() {
finish();
//第一个参数是旧activity进入动画,第二个参数是当前activity退出动画
overridePendingTransition(R.anim.slide_in_top, R.anim.slide_out_bottom);
}
activity动画主题使用注意事项的更多相关文章
- Android Activity动画属性简介
Android Activity动画属性简介 在Android当中 设置activity的动画 需要复写 android:windowAnimationStyle这个属性 我们自定义一个动画样式来继承 ...
- Android Activity动画
动画XML文件 slide_right_in.xml <?xml version="1.0" encoding="utf-8"?> <set ...
- Xamarin.android Activity动画切换效果实现
http://blog.csdn.net/esunshine1985/article/details/44302903 1.在Resources--values下新建styles.xml,添加内容如下 ...
- Android动画效果 translate、scale、alpha、rotate 切换Activity动画 控件位置调整
2011.10.28注:如果需要控件停在动画后的位置,需要设置android:fillAfter属性为true,在set节点中.默认在动画结束后回到动画前位置.设置android:fillAfter后 ...
- Android中Activity加入Fragment使用注意事项及常用技巧
Fragment中AlertDialog弹出窗口的使用 Fragment默认不具有Content的一些方法和属性,因此在Activity中可以使用的一些方法在Fragment中使用就需要一些小技巧了 ...
- Android开发之切换activity动画overridePendingTransition
原文地址:http://blog.sina.com.cn/s/blog_706c449f01011s3v.html overridePendingTransition 在startActivity() ...
- [android] 练习样式主题自定义activity切换动画
主要练习了自定义样式和主题,继承android系统默认的样式并修改,练习xml定义淡入淡出动画 anim/fade_in.xml <?xml version="1.0" en ...
- Android 编程下设置 Activity 切换动画
为 Activity 设置切换动画 我们知道,我们可以在 AndroidManifest.xml 文件中,通过 android:theme 属性设置 Activity 的主题.主题中定义了关于 Act ...
- Android的Activity切换动画特效库SwitchLayout,视图切换动画库,媲美IOS
由于看了IOS上面很多开发者开发的APP的视图界面切换动画体验非常好,这些都是IOS自带的,但是Android的Activity等视图切换动画并没有提供原生的,所以特此写了一个可以媲美IOS视图切换动 ...
随机推荐
- C#与MATLAB混合编程
C#和MatLab的混合编程,充分利用了winform的直观显示和matlab的强大计算能力.在此以一个小例子的形式给大家讲述一下二者混合编程的实现. 一.软件的配置说明 C#版本:VS2010 ma ...
- [转载]UEditor报错TypeError: me.body is undefined
本文转载来自:UEditor报错TypeError: me.body is undefined 今天在使用UEditor的setContent的时候报错,报错代码如下 TypeError: me.bo ...
- Linux查看BIOS信息
http://www.linuxde.net/2013/02/12499.html
- luluzero的angularJs学习之路_angularJs示例代码
最近开始自学 angularJs这个前端MVC框架,感觉在前端实现MVC很酷有木有.哈哈哈... 先说说我对前端MVC的一个基本的理解吧(刚开始学习接触得还比较浅显,理解可能会有些不到位,还请各位大神 ...
- 《TCP/IP 详解 卷一》读书笔记-----Ping&Traceroute
1.ping是用于测试对方主机是否可达的命令,其实本质上就是echo类型的ICMP报文.同时,ping还能用于计算RTT(round-trip time),即两台主机间的往返时延. 2.随着网络安全意 ...
- 数据结构--栈 codevs 1107 等价表达式
codevs 1107 等价表达式 2005年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Descripti ...
- UESTC 913 握手 Havel定理+优先队列
给定一个非负整数序列{dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化.进一步,若图为简单图,则称此序列可简单图化. 此题因为是无自环无重边,所以是简单图.用判定简单图可图化 ...
- java 19 -15 File类批量更改文件名的方法
/* 需求: * 把H:\三国演义下面的视频名称修改为 00?_介绍.avi 思路: A:封装目录 B:获取该目录下所有的文件的File数组 C:遍历该File数组,得到每一个File对象 D:拼接一 ...
- 第三方登录之qq登录(转载)
iOS QQ第三方登实现 我们经常会见到应用登陆的时候会有QQ,微信,微博等的第三方登陆 如图: 下面我们主要讲一下qq的第三方登陆如何实现 首先,到官网注册: http://wiki.conne ...
- AE二次开发技巧之撤销、重做
原文地址:http://www.cnblogs.com/wylaok/articles/2363208.html 可以把AE自带的重做.撤销按钮或工具添加到axToolBarControl上,再把ax ...