Android Activity进出动画三种方法
发布时间 - 2026-01-11 00:55:30 点击率:次Android Activity进出动画三种方法

实现activity的进出场动画总共有3种方式,下面会一一列出,首先给出示例的动画xml文件。
动画的xml文件
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromYDelta="100%" android:toYDelta="0" android:duration="1000" />
这是R.anim.in
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromYDelta="0" android:toYDelta="100%" android:duration="1000" />
这是R.anim.out
实现activity进出场动画的第1种方式:overridePendingTransition
用法:
toNext(AnimationDrawableActivity.class); overridePendingTransition(R.anim.in, R.anim.out);
PS:toNext是一个封装的方法,跳转到指定的activity。
如果要finish掉当前activity,把它放在overridePendingTransition()方法前后似乎并无差别,不过有人建议finish()放在overridePendingTransition()之前,不知出处。
实现activity进出场动画的第2种方式:在清单文件中为activity设置theme
在styles.xml文件中写一个style,如下:
<style name="animationofactivity" parent="AppBaseTheme">
<item name="android:windowAnimationStyle">@style/enterandentrance</item>
</style>
其中,主要是为android:windowAnimationStyle设置值,enterandentrance也是一个style,如下:
<style name="enterandentrance">
<item name="android:activityOpenEnterAnimation">@anim/in</item>
<item name="android:activityOpenExitAnimation">@anim/out</item>
<item name="android:activityCloseEnterAnimation">@anim/in</item>
<item name="android:activityCloseExitAnimation">@anim/out</item>
</style>
从名为A的activity跳转到B,B也可以跳转到C,其中转场动画设置在B上。
android:activityOpenEnterAnimation:指的是,进入B时的动画。
android:activityOpenExitAnimation:指的是进入B时,A的动画,与B的动画是一起显示的。
android:activityCloseEnterAnimation:通过B跳转到C后,后退到B时,B的进入动画
android:activityCloseExitAnimation:通过B跳转到C后,后退到B时,C的退出动画
最终,为activity设置一个theme,如下:
<activity android:name="com.example.androidresources.AnimationDrawableActivity"
android:theme="@style/animationofactivity"/>
实现activity进出场动画的第3种方式:在activity中用代码设置
在所要设置动画的activity的onCreate方法中,设置了setContentView()之后,写如下代码:
这种方法除了用在activity的转场动画之外,还能用在dialog中。
LayoutParams params = getWindow().getAttributes(); params.windowAnimations = R.style.enterandentrance; getWindow().setAttributes(params);
一些动画小常识:
1、调用overridePendingTransition(enterAnim, exitAnim)时,enterAnim和exitAnim如果有为0的值,指的是不设置该动画。
2、如果进入一个activity时,想让前一个activity静止不动,那么需要专门写一个动画,如下:
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromYDelta="0" android:toXDelta="0" android:duration="1000"/>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# Activity进出动画
# 进出动画几种方法
# Android的Activity跳转动画各种效果整理
# Android实现Activity界面切换添加动画特效的方法
# Android Activity跳转动画效果
# Android Activity切换动画详解及实例
# Android中Activity过渡动画的实例讲解
# 跳转到
# 这是
# 指的是
# 放在
# 用在
# 退到
# 是一个
# 还能
# 把它
# 希望能
# 不动
# 三种
# 想让
# 谢谢大家
# 所要
# 中为
# 总共有
# 主要是
# 小常识
# 这种方法
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么连接多个数据库_Laravel多数据库连接配置
如何挑选优质建站一级代理提升网站排名?
微信推文制作网站有哪些,怎么做微信推文,急?
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
如何快速搭建支持数据库操作的智能建站平台?
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
node.js报错:Cannot find module 'ejs'的解决办法
教你用AI润色文章,让你的文字表达更专业
Laravel如何处理文件下载请求?(Response示例)
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
如何用好域名打造高点击率的自主建站?
Python文件操作最佳实践_稳定性说明【指导】
如何在Windows虚拟主机上快速搭建网站?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
大学网站设计制作软件有哪些,如何将网站制作成自己app?
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
如何批量查询域名的建站时间记录?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
如何在橙子建站上传落地页?操作指南详解
如何在IIS管理器中快速创建并配置网站?
b2c电商网站制作流程,b2c水平综合的电商平台?
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
Laravel如何实现一对一模型关联?(Eloquent示例)
Laravel集合Collection怎么用_Laravel集合常用函数详解
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
如何在Windows环境下新建FTP站点并设置权限?
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
EditPlus中的正则表达式实战(6)
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Java解压缩zip - 解压缩多个文件或文件夹实例
JavaScript如何实现倒计时_时间函数如何精确控制
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
如何用虚拟主机快速搭建网站?详细步骤解析
JavaScript如何实现错误处理_try...catch如何捕获异常?
如何确保FTP站点访问权限与数据传输安全?
高防服务器如何保障网站安全无虞?
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何在服务器上配置二级域名建站?
如何在建站之星绑定自定义域名?
香港服务器部署网站为何提示未备案?
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)

