安卓手机开发入门:Activity页面切换动画解析

需积分: 10 0 下载量 111 浏览量 更新于2024-07-28 收藏 4.03MB PDF 举报
"手机开发的绝对入门经典" 在手机开发领域,Android系统占据着重要的地位,而Activity页面切换是用户体验中的关键部分。本资源主要介绍了如何在Android应用中实现各种页面过渡效果,帮助初学者理解并掌握这一核心技能。 在Android 2.0及更高版本中,`overridePendingTransition()` 方法被引入,它允许开发者自定义Activity之间的动画效果。例如,第一个参数定义了当前Activity(即将退出)的动画,第二个参数则定义了新启动Activity(即将进入)的动画。以下代码展示了如何使用这个方法: ```java @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.SplashScreen); new Handler().postDelayed(new Runnable() { @Override public void run() { Intent mainIntent = new Intent(SplashScreen.this, AndroidNews.class); startActivity(mainIntent); finish(); // 应用动画 overridePendingTransition(R.anim.mainfadein, R.anim.splashfadeout); } }, 3000); } ``` 这段代码创建了一个延时3秒的闪屏页面,启动新的Activity时应用了自定义的淡入淡出动画。`R.anim.mainfadein` 和 `R.anim.splashfadeout` 分别对应了进入和退出的动画资源。 除了`overridePendingTransition()`,还可以使用`getWindow().setWindowAnimations(int)`来设置全局的窗口动画,但这通常不如前者灵活。 在Android中,还有一些预定义的动画可以使用,如淡入淡出效果: ```java overridePendingTransition(Android.R.anim.fade_in, Android.R.anim.fade_out); ``` 以及从左侧滑入、右侧滑出的效果: ```java overridePendingTransition(Android.R.anim.slide_in_left, Android.R.anim.slide_out_right); ``` 同时,为了实现类似iPhone的缩放效果(zoomin和zoomout),你可以创建自定义的动画XML文件,例如`zoomin.xml`: ```xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:duration="500" /> </set> ``` 然后在`overridePendingTransition()`中引用这个动画: ```java overridePendingTransition(R.anim.zoomin, R.anim.zoomout); ``` 以上就是Android手机开发中关于Activity页面切换和动画效果的一些基础知识,通过这些技术,开发者能够提升应用的视觉吸引力和用户体验。学习并熟练运用这些技巧,对于想要踏入手机开发行业的初学者来说是非常重要的。