在日常开发中,我们可能会给每个活动界面切换时添加一个动画,那这种效果是如何实现的呢。
先看下效果图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P0tZH0om-1590824728383)(https://img-my.csdn.net/uploads/201512/05/1449292707_9892.gif)]
实例一 overridePendingTransition
概述
实现两个 Activity 切换时的动画。在overridePendingTransition中使用
有两个参数:进入动画和出去的动画。
注意(调用时间)
1、必须在 StartActivity() 或 finish() 之后立即调用。
2、而且在 2.1 以上版本有效
3、手机设置-显示-动画,要开启状态
实现左进右出的效果
MainActivity
startActivity(new Intent(OverridePendingTransitionActivity.this,SecondActivity.class));
overridePendingTransition(R.anim.leftin, R.anim.leftout);
SecondActivity
@Override
public void onClick(View arg0) {
finish();
overridePendingTransition(R.anim.in, R.anim.out);
}
res/anim/leftin.xml
anim/leftout.xml
由于主题默认是黑色,所以在执行以上跳转动画时,会出现短暂的黑屏,这样的用户体验是很不好。解决办法就是主题文件中加下面该属性。使主题的窗口变成透明,这样就不会出现黑屏了。
/string/styles.xml
总结
此实例适用于为单独某个界面设置切换动画
实例二(主题切换动画)
定义切换动画的效果
在主题中引用
AndroidManifest.xml文件中Activity中引用主题
然后每次启动的时候,默认的切换的动画就是你之前设置的动画效果
总结
此实例适用于全局的界面切换的效果
拓展
上面实例是左进右出的滑动的Activity跳转动画,显然还有更多的界面跳转的动画。
Android 界面跳转动画效果汇总