Android Activity页面切换动画效果详解

5星 · 超过95%的资源 需积分: 10 4 下载量 18 浏览量 更新于2024-09-18 收藏 4.03MB PDF 举报
"Android界面效果全汇总part.pdf" 在Android应用开发中,用户界面的交互体验是至关重要的。本文将深入探讨Android 2.0及更高版本中如何通过`overridePendingTransition()`方法来实现Activity页面之间的过渡动画效果,从而提升用户体验。 `overridePendingTransition()` 方法是一个在启动或关闭Activity时调用来定义自定义动画的关键工具。它接收两个参数,分别代表前一个Activity退出的动画和新Activity进入的动画。这两个参数是资源ID,通常指向定义在res/anim目录下的XML动画文件。 例如,以下Java代码展示了如何在启动新Activity并关闭当前Activity时添加淡入淡出的过渡效果: ```java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // ...其他代码... Intent intent = new Intent(this, NextActivity.class); startActivity(intent); finish(); // 添加淡入淡出的过渡动画 overridePendingTransition(R.anim.fade_in, R.anim.fade_out); } ``` 这里,`R.anim.fade_in` 和 `R.anim.fade_out` 分别是定义在res/anim目录下表示淡入和淡出效果的动画资源。 创建这些动画资源通常涉及XML文件。例如,一个简单的淡入动画(fade_in.xml)可能如下所示: ```xml <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromAlpha="0.0" android:toAlpha="1.0" /> ``` 淡出动画(fade_out.xml)则与之相反,将`fromAlpha`设置为`1.0`,`toAlpha`设置为`0.0`。 除了淡入淡出,还有其他多种过渡效果可以实现,如左右滑动、缩放等。例如,要实现从左侧滑入到右侧滑出的效果,可以使用以下代码: ```java overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right); ``` 相应的,需要在res/anim目录下创建slide_in_left.xml和slide_out_right.xml,定义左右滑动的动画细节。 对于缩放效果,如iPhone式的进入和退出,可以创建zoomin.xml和zoomout.xml动画文件,然后调用: ```java overridePendingTransition(R.anim.zoomin, R.anim.zoomout); ``` 在这些XML动画文件中,你可以定义对象属性的平移、旋转、缩放等,以实现各种复杂的动画效果。 `overridePendingTransition()` 提供了丰富的可能性,让开发者能够定制Activity间的过渡动画,以增强应用的视觉效果和用户交互体验。通过结合不同的动画效果和适当的动画时长,开发者可以创建出独特且引人入胜的Android应用界面。