首页 > 其他分享 >Activity之间的切换动画

Activity之间的切换动画

时间:2023-04-30 18:32:24浏览次数:52  
标签:动画 anim name activity item 切换 Activity android


从android系统2.1以后,android新增了方法:overridePendingTransition(int enterAnim, int exitAnim),用于改变Activity之间的切换动画。


从样式里进行改变切换动画

这个主要是加在样式文件里进行更改,代码如下:




Xml代码

Activity之间的切换动画_ide

 

Activity之间的切换动画_android_02

Activity之间的切换动画_ide_03


1. <</span>style name="Theme.Test" parent="@android:style/Theme.Light.NoTitleBar">  
2.    <</span>item name="android:windowAnimationStyle">@style/Animation.Activity.Test</</span>item>  
3. </</span>style>




Xml代码

Activity之间的切换动画_ide

 

Activity之间的切换动画_android_02

Activity之间的切换动画_ide_03


1. <</span>style name="Animation.Activity.Test" parent="@android:style/Animation.Activity">  
2.    <</span>item name="android:activityOpenEnterAnimation">@anim/activity_open_enter</</span>item>  
3.    <</span>item name="android:activityOpenExitAnimation">@anim/activity_open_exit</</span>item>  
4.    <</span>item name="android:activityCloseEnterAnimation">@anim/activity_close_enter</</span>item>  
5.    <</span>item name="android:activityCloseExitAnimation">@anim/activity_close_exit</</span>item>  
6.       
7.    <</span>item name="android:taskOpenEnterAnimation">@anim/activity_open_enter</</span>item>  
8.    <</span>item name="android:taskOpenExitAnimation">@anim/activity_open_exit</</span>item>  
9.    <</span>item name="android:taskCloseEnterAnimation">@anim/activity_close_enter</</span>item>  
10.    <</span>item name="android:taskCloseExitAnimation">@anim/activity_close_exit</</span>item>  
11.       
12.    <</span>item name="android:taskToFrontEnterAnimation">@anim/activity_open_enter</</span>item>  
13.    <</span>item name="android:taskToFrontExitAnimation">@anim/activity_open_exit</</span>item>  
14.    <</span>item name="android:taskToBackEnterAnimation">@anim/activity_close_enter</</span>item>  
15.    <</span>item name="android:taskToBackExitAnimation">@anim/activity_close_exit</</span>item>  
16. </</span>style>



只要这样进行配置,那边Activity之间的切换动画都可以进行自定义了


程序里动态的进行改变切换动画

如果程序中还有一些地方需要单独进行更改动画,则可以在程序里进行更改:

1. 由A跳到B的动画:




Java代码

Activity之间的切换动画_ide

 

Activity之间的切换动画_android_02

Activity之间的切换动画_ide_03


1. startActivity(new Intent(A.this, B.class));   
2. n(inAnim, outAnim);





2. 由B回到A的动画:




Java代码

Activity之间的切换动画_ide

 

Activity之间的切换动画_android_02

Activity之间的切换动画_ide_03


1. finish();   
2. n(inAnim, outAnim);



 


加了Dialog样式的Activity的情况

如果在Activity的样式文件里,加入了下面的代码,则Activity就会出现Dailog的样式了:




Xml代码

Activity之间的切换动画_ide

 

Activity之间的切换动画_android_02

Activity之间的切换动画_ide_03

1. <</span>item name="android:windowIsTranslucent">true</</span>item>



true



overridePendingTransition()方法,进行动态进行设置。


总结:Activity之间的动画,是拿整个界面执行动画(包括通知栏),所以如果你执行向下切换动画,会看到白色的状态栏,这个我没有找到解决办法。


标签:动画,anim,name,activity,item,切换,Activity,android
From: https://blog.51cto.com/u_548275/6238011

相关文章

  • ActivityGroup 子Activity之…
    ActivityGroup子Activity之间的切换动画一般activity之间的切换比较简单,在startActivity()之后调用overridePendingTransition(R.anim.in_right_left,R.anim.out_right_left)函数即可。当然,你也可以用定义theme的方法来实现每个activity的进出动画,但是好像没有查到关于ActivityG......
  • lab5:深入理解进程切换
    目录linux操作系统分析Lab5:深入理解进程切换context_switch函数执行过程1.prepare_task_switch()2.arch_start_context_switch()3.switch_mm_irqs_off()进程地址切换3.switch_to()实验总结linux操作系统分析Lab5:深入理解进程切换context_switch函数content_switch函......
  • 记录一下MAX在动画制作中遇到文件大小无限膨胀的BUG
    最新在用MAX的biped骨骼做动画,一个简单的角色动画,用到了运动混合器,随着项目的推进,诡异的事情开始出现,文件变得无比庞大,但文件内都是链接,模型面数也不到1w,但文件大小却膨胀到了300多MB这使得打开和保存变得无比慢,但是用首选项里的“压缩保存的文件”选项却可以把工程文件压缩到4MB......
  • ubuntu切换软件源为国内源
    Ubuntu安装完毕之后,默认的源是Ubuntu自己的,但毕竟Ubuntu服务器在国外,我们访问起来会比较慢,可以将软件源切换为国内源,比如:阿里源,清华源,中科大源等等。在这边以清华源为例,其它源也是一样的道理。切换源之前先把配置文件备份一份sudocp/etc/apt/sources.list/etc/apt/sources_init.......
  • Vue项目如何配置、切换主题颜色(mixin + scss方式,简单高效)
    Action一.首先,引入scss依赖(node-sass,sass-loader)npminstallnode-sasssass-loader--save-dev1二.项目样式文件目录介绍1.此处我将项目中的公共样式文件放到了src/style目录下,其中index.scss是以供全局使用的一些基本样式,在main.js文件中引入即可全局使用(图2)。_theme.scs......
  • Unity动画系统详解9:Target Matching是什么?
    摘要:在游戏中,经常有这种情况:角色的手或者脚需要在特定时间放在特定的位置。比如角色需要用手撑着跳过一个石头或一堵墙,或者跳起抓住房梁。TargetMatch就是让动画的特定片段去匹配特定的位置。洪流学堂,让你快人几步。你好,我是跟着大智学Unity的萌新,我叫小新,这几周一起来复(yu)习(xi)动......
  • maven中切换国内源
    国外镜像下载包非常慢,于是使用国内阿里云的,找到~/.m2目录,但是不存在settings.xml,于是手动创建一个,然后贴入一个样例 <settingsxmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://mave......
  • 如何使用CSS来修改SVG原点和制作SVG动画
    SVG元素可以像HTML元素一样,使用CSSkeyframes和animation属性或者CSStransitions来制作各种动画效果。 SVG元素可以像HTML元素一样,使用CSSkeyframes和animation属性或者CSStransitions来制作各种动画效果。大多数情况下,一个复杂的动画效果需要组合多种变换效果:旋转、倾......
  • 横竖屏切换时候activity的生命周期
    1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次3、设置Activity的android:configChanges=......
  • 文件系统切换
    //疑问:到底采用swith_root还是chroot?/若采用了chroot之后,web端能见到chroot之后的文件系统吗?!!!/switch_root好像需要多建一个分区/结合chroot可以退出的特性ctrl+d //busybox默认调用initramfs中根目录的linuxrc程序。该程序调用rcS脚本,但该脚本并不是以PID=1运行的。所以,......