Android Activity切换动画详解及实例
Android Activity切换动画
Android Activity切换动画是指从Activity A 跳转至Activity B的时候,Activity A 有退出动画,Activity B 有进入动画。这个动画的实现很简单,在startActivity(intent)之后调overridePendingTransition ()这个方法就行。比如实现淡入淡出的效果如下:
Intent i = new Intent(ActivityA.this,ActivityB.class); StartActivity.this.startActivity(i); overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
不过有时候overridePendingTransition 这个函数会不起作用,总结下,大概是以下三个方面的原因:
1、android系统版本2.0以下,这个没办法,想其他办法解决切换动画吧。
2、在ActivityGroup等的嵌入式Activity中,这个比较容易解决,用如下方法就可以了:
this.getParent().overridePendingTransition
3、在一个Activity的内部类中,或者匿名类中,这时候只好用handler来解决了。
我这里用到的是后退时的切换效果,即什么都没做的情况下:
代码如下,很简单:
@Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.back: this.finish(); overridePendingTransition(0, R.anim.push_up_out); break; default: break; } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Android Activity进出动画三种方法
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="
-
Android Activity跳转动画效果
Activity的跳转动画在5.0的时候做了一个重大的突破,下面来看一下吧 1.5.0之前的overridePendingTransition 相信大家对OverridePendingTransition还是很熟悉的,使用方法也是很简单就是 //fade_in是第二个界面的进入动画,fade_out是第一个界面退出动画,不想动画传入0 overridePendingTransition(R.anim.fade_in,R.anim.fade_out); fade_in : <?xml versi
-
退出Android程序时清除所有activity的实现方法
本文实例讲述了退出Android程序时清除所有activity的方法.分享给大家供大家参考,具体如下: 在一个项目中,要退出android程序,试了restartPackage. killBackgroundProcesses .通过异常并在Application的子类中重新注册Thread的 Thread.UncaughtExceptionHandler接口+异常方式,等等,都没有效果. 最后发现其实只要在从一个activity A 跳到另一个activity B 时,调用了A的finish方
-
Android的Activity跳转动画各种效果整理
大家使用Android的原生UI都知道,Android的Activity跳转就是很生硬的切换界面.其实Android的Activity跳转可以设置各种动画.下面给大家看看效果: 实现非常简单,用overridePendingtransition(int inId, int outId)即可实现.inId是下一界面进入效果的xml文件的id,outId是当前界面退出效果的xml文件id. 效果是用xml文件写的,首先要在res文件夹下建立anim文件夹,然后把动画效果xml文件放到里面去. 下面
-
Android 中 退出多个activity的经典方法
1.使用List集合方式 用list保存activity实例,然后逐一干掉 import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.app.Application; import android.content.DialogInterface; import android.content.Inte
-
Android使用Theme自定义Activity进入退出动画的方法
本文实例讲述了Android使用Theme自定义Activity进入退出动画的方法.分享给大家供大家参考,具体如下: 有没有觉得Activity的默认动画太快了或者太难看了.. 我原来使用Activity.overridePendingTransition来自定义Activity的进入动画,却发现没法定义退出的动画.结果就发现了强大的Theme和Style,之后还需要好好研究一下. 具体是这样子的: 在AndroidManifest里面,对于application和activity标签可以定义t
-
Android一次性退出多个Activity的方法
本文实例讲述了Android一次性退出多个Activity的方法.分享给大家供大家参考,具体如下: 因为android的API中没有提供一次性退出的接口所以想要在多activity的程序里面一次性退出的话就要费点功夫了.我是在一个单例对象里面记录activity栈中activity的引用然后在需要退出时遍历一遍finish()掉就可以了.实现步骤如下: 1.创建一个单例对象 package com.exit; import java.lang.ref.SoftReference; import
-
android中实现完全退出程序方法(退出所有activity)
这是一个很多很多人都 会遇到的问题,我也试过了很多方法,都不怎么好用. 比如: 复制代码 代码如下: System.exit(0); 不行. 还有什么跳转到第一个activity,同时把栈顶的activity全部清除,最后再finish();还是不行..不知道为什么. 这里是我自己的一个方法,效果非常好. 原理:在每个activity都注册一个广播接收器,用来接收关闭activity的广播.当需要退出程序的时候就发送一条关闭activity的广播,这样所有的activity都会接收到,然后所有a
-
Android仿微信滑动退出Activity
效果图: 原理: 原理一句话就能描述清楚.重写Activity的dispatchTouchEvent,滑动的时候拿到Activity栈中栈顶Activity的上一个Acticity的ContentView添加到栈顶Activity的DecorView中,滑动的过程中做视图平移,滑动结束之后把前面拿过来用的ContentView归还给上一个Activity,然后finish当前Activity. ActivityStack: 实现 Application.ActivityLifecycleCall
-
Android编程设定activity进入和退出效果的方法
本文实例讲述了Android编程设定activity进入和退出效果的方法.分享给大家供大家参考,具体如下: 看了android的源代码和资源文件,终于明白如何去修改设置Dialog和Activity的进入和退出效果了.设置Dialog首先通过getWindow()方法获取它的窗口,然后通过getAttributes()方法获得window的WindowManager.LayoutParams lp, lp有个公共属性windowAnimations, 只要把要实现的animation的id赋值给
-
Android实现Activity界面切换添加动画特效的方法
本文以实例形式展示了Android实现Activity界面切换添加动画特效的方法,对于Android程序设计人员来说有很好的参考借鉴价值.具体方法如下: 了解Android程序设计的人应该知道,在Android 2.0之后有了overridePendingTransition(),其中里面两个参数,一个是前一个activity的退出,另一个activity的进入. 现看看下面这段示例代码: @Override public void onCreate(Bundle savedInstanceSt
随机推荐
- javascript使用正则控制input输入框允许输入的值方法大全
- SQL Server 2008怎样添加自增列实现自增序号
- javascript 打印内容方法小结
- 破解Vista登陆密码Shift按五下轻松
- 5个可以帮你理解JavaScript核心闭包和作用域的小例子
- 支持ie与FireFox的剪切板操作代码
- python 的列表遍历删除实现代码
- Android Activity启动模式之singleTask实例详解
- MyBatis 如何写配置文件和简单使用
- js获取input长度并根据页面宽度设置其大小及居中对齐
- bootstrapValidator.min.js表单验证插件
- 浅谈js-FCC算法Friendly Date Ranges(详解)
- 详解MySQL数据类型int(M)中M的含义
- IIS7.5 提示未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序
- php统计时间和内存使用情况示例分享
- Android编程实现抽屉效果的方法详解
- android实现记事本app
- SpringBoot与spring security的结合的示例
- 在python中只选取列表中某一纵列的方法
- ztree加载完成后显示勾选节点的实现代码