安卓手机开发入门:Activity页面切换动画解析
需积分: 10 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页面切换和动画效果的一些基础知识,通过这些技术,开发者能够提升应用的视觉吸引力和用户体验。学习并熟练运用这些技巧,对于想要踏入手机开发行业的初学者来说是非常重要的。
2011-03-05 上传
2020-11-28 上传
247 浏览量
2017-11-03 上传
299 浏览量
2012-10-14 上传
2013-11-01 上传
2018-05-15 上传
248 浏览量
csult01
- 粉丝: 0
- 资源: 1
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常