改变Activity启动时的默认动画
2016-04-27 19:59
190 查看
why
在开发中我们可能需要改变这一行为,一般基于2种理由:1. 产品的spec这么要求的;
2. 想自己控制这个行为,因为在Android设备上可能每个的这一默认行为都不一样,厂商可以很容易修改它,从而导致app在使用体验上不一致。
how
笔者所知道的主要有3种方式,下面我们就一个个来看看。1. 通过theme/style来修改,代码如下:
但是实际测试发现,不论是改activity的各种animation还是window的,效果都不是很好,可能在某些设备上ok的,但在另一些设备上又不好用,另外这种方式也不是很灵活,所以不推荐使用。
通过overridePendingTransition(int enterAnim, int exitAnim)
相关代码如下:
笔者平时开发中用的是这种方法,目前还没遇到什么兼容性问题,work的很好,另外由于是写在代码中的也比较灵活,推荐。注意下实际中可能还需要在act theme中增加如下代码:
<item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsTranslucent">true</item>
近日在看youtube视频时发现的写法,代码如下:
感兴趣的同学可以观看下完整视频,还有些别的关于ActivityOptions的使用方式,另外需要注意下这种方式是API Level 16才引入的。
总结
以上是实际开发中可能用到的3种方式,但综合来看还是第2种方式最好用,也最灵活。注意,以上这些动画准确地讲应该是属于window animations。相关文章推荐
- tez跑任务报错
- 在C++中将一个GUID变量转换成为string变量
- 剑指offer(39):数字在排序数组中出现的次数
- android---高德地图(5)导航界面(语音播报)实现
- android---简单语音合成
- 如何在WinForm中发送HTTP请求
- 错误:push.default is unset; its implicit 的解决
- android---自定义折线图
- 【Hibernate】——多对一关联映射
- android---读取SD卡内容并显示
- java_web servlet第二课
- 从数组中取出n个元素的所有组合(递归实现)
- PHP中界定符的使用
- linux安装phpredis扩展
- android---重写textview自适应屏幕分辨率,压缩字体大小
- PHP pdo编码乱码问题的解决方法
- android---重写EditText自适应屏幕分辨率,压缩字体大小
- seekg前记得手动清除EOF标志位
- 颓废了好久 拾起当初的梦 虚幻4初学 我要做我自己的游戏
- nginx 后端服务器配置端口 request.getserverPort