overridePendingTransition的简介

简介: 1 Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。它包括两个部分:一部分是第一个activity退出时的动画;另外一部分时第二个activity进入时的动画;在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition这个函数有两个参数,一个参数是第一个activit


1 Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。

它包括两个部分:
一部分是第一个activity退出时的动画;
另外一部分时第二个activity进入时的动画;
在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition

这个函数有两个参数,一个参数是第一个activity进入时的动画,另外一个参数则是第二个activity退出时的动画。

这里需要特别说明的是,关于overridePendingTransition这个函数,有两点需要主意
1.它必需紧挨着startActivity()或者finish()函数之后调用"
2.它只在android2.0以及以上版本上适用  

此链接帮助大家理解次方法:http://www.oschina.net/question/97118_34343

 

 不过有时候overridePendingTransition 这个函数会不起作用,总结下,大概是以下三个方面的原因:

 1、android系统版本2.0以下,这个没办法,想其他办法解决切换动画吧。
 2、在ActivityGroup等的嵌入式Activity中,这个比较容易解决,用如下方法就可以了:
    this.getParent().overridePendingTransition 就可以解决。
 3、在一个Activity的内部类中,或者匿名类中,这时候只好用handler来解决了。
 4、手机的显示动画效果被人为或者其他方式给关闭了 现在打开即可 设置->显示->显示动画效果

=============================================================================

实现两个 Activity 切换时的动画。在Activity中使用
有两个参数:进入动画和出去的动画。

注意
1、必须在 StartActivity()  或 finish() 之后立即调用。
2、而且在 2.1 以上版本有效
3、手机设置-显示-动画,要开启状态

//实现淡入浅出的效果
startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);

// 由左向右滑入的效果
startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);

// 实现zoommin 和 zoomout (自定义的动画)
startActivity(new Intent(OverridePendingTransitionActivity.this,SecondActivity.class));
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);


anim/zoomin.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/decelerate_interpolator" >
  <scale
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromXScale="0.1"
        android:fromYScale="0.1"
        android:pivotX="50%p"
        android:pivotY="50%p"
        android:toXScale="1.0"
        android:toYScale="1.0" />
  <alpha
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromAlpha="0"
        android:toAlpha="1.0" />
</set>

anim/zoomout.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:zAdjustment="top" >
    <scale
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%p"
        android:pivotY="50%p"
        android:toXScale="0.1"
        android:toYScale="0.1" />
    <alpha
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromAlpha="1.0"
        android:toAlpha="0" />
</set>


目录
相关文章
|
SQL XML Java
MyBatis-Plus——代码生成器(3.5.1+版本)
MyBatis-Plus——代码生成器(3.5.1+版本)
2653 0
MyBatis-Plus——代码生成器(3.5.1+版本)
|
5月前
|
人工智能 自然语言处理 搜索推荐
阿里巴巴首批企业级Agent来了!
阿里巴巴旗下瓴羊推出首批企业级Agent应用,包括“超级客服专家”和“超级电销专家”,基于多年电商经验与AI技术,显著提升客服与销售效率。通过自动化处理退换货、售后补发、线索筛选等任务,企业效率提升超60%,助力实现“人+Agent”协同新模式。
1114 0
|
7月前
|
XML Android开发 数据格式
Activity动画跳转(overridePendingTransition)
`overridePendingTransition` 用于设置 Activity 切换时的动画效果,需紧跟在 `startActivity()` 或 `finish()` 后调用,适用于 Android 2.0 及以上版本。示例中通过平移动画实现页面切换,动画 XML 文件存于 `anim` 文件夹中,`duration` 定义动画时长。四个动画文件分别控制进入与退出时的水平位移,欢迎留言交流!
129 2
Activity动画跳转(overridePendingTransition)
|
5月前
|
数据安全/隐私保护 Python
微信批量导出群成员群昵称工具,导出WXID微信号信息,微信群成员导出脚本插件
使用itchat库实现微信登录和群成员信息获取支持获取群成员的昵称
|
10月前
|
机器学习/深度学习 资源调度 计算机视觉
RT-DETR改进策略【Conv和Transformer】| CVPR-2022 Deformable Attention Transformer 可变形注意力 动态关注目标区域
RT-DETR改进策略【Conv和Transformer】| CVPR-2022 Deformable Attention Transformer 可变形注意力 动态关注目标区域
456 15
RT-DETR改进策略【Conv和Transformer】| CVPR-2022 Deformable Attention Transformer 可变形注意力 动态关注目标区域
|
5月前
|
人工智能 前端开发 架构师
Agent 2.0“三剑客”:MCP协议、A2A协议、AG-UI协议
Agent 2.0“三剑客”:MCP协议、A2A协议、AG-UI协议
|
Kotlin
Kotlin协程的取消机制:深入理解和优雅实现
本文详细探讨了Kotlin协程的取消机制,介绍了除直接使用`Job`的`cancel`方法外的多种优雅实现策略,如`CompletableDeferred`、`isActive`检查、`ensureActive`、`yield`及`CoroutineScope`的取消等。通过这些方法,可以更好地管理协程生命周期,确保资源正确释放,提升代码健壮性和可维护性。
252 12
|
数据可视化 开发工具 git
Sourcetree
Sourcetree 是一款免费的 Git 和 Hg 客户端管理工具,同时支持 Mn 版本控制系统。它为 Windows 和 Mac 用户提供了可视化的 Git 管理界面,使得用户能够轻松地创建、克隆、提交、推送、拉取和合并等 Git 操作。Sourcetree 还具有强大的代码对比功能,可以方便地查看和合并代码更改。
567 1
|
缓存 网络协议 Shell
ADB各种操作指令详解大汇总
这篇文章提供了ADB(Android Debug Bridge)的详细操作指令汇总,包括设备管理、应用操作、日志查看、文件操作、屏幕截取与录制、Shell命令使用等。
2309 2
|
前端开发 算法 JavaScript
React项目input输入框输入自动失去焦点
本文讨论了在React项目中如何处理input输入框自动失去焦点的问题,特别是在移动端开发中。文章提供了一个使用React Native的TouchableWithoutFeedback组件来监听点击事件,并在事件处理函数中通过调用Keyboard.dismiss()方法使输入框失去焦点的示例代码。这种方法可以确保在用户点击页面其他区域时,键盘能够收起,输入框失去焦点。
471 1
React项目input输入框输入自动失去焦点