overridePendingTransition

1.平时Activity的切换是就是从中间弹出来,然后遮盖住之前的Activity。这种效果看到很多后就想给他换成其他的效果,如:

要显示的Acitvity从左边往右的平移进入,被遮盖的Activity从左往右的平移划出。

在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法:

public void overridePendingTransition (int enterAnim, int exitAnim)

其中:

enterAnim 定义Activity进入屏幕时的动画(要显示的Activity进入时的动画)

exitAnim 定义Activity退出屏幕时的动画(被遮盖住的Activity划出时的动画)

overridePendingTransition 方法必须在startActivity()或者 finish()方法的后面。

Android已经内置了几种动画效果,可以见 android.R.anim 类。一般情况下我们需要自己定义屏幕切换的效果。首先我们先了解Activity的位置定义,如下图:

从上图可以看出,以手机屏幕下面边未X轴,屏幕左边为Y轴,当Activity在X轴值为-100%p时,刚好在屏幕的左边(位置1),当X轴值为0%p时,刚好再屏幕内(位置2),当X=100%p时刚好在屏幕右边(位置3)。

在用overridePendingTransition可能会遇到动画效果不产生,解决办法如下:

1、android系统版本2.0以下,这个没办法,想其他办法解决切换动画吧。
 2、在ActivityGroup等的嵌入式Activity中,这个比较容易解决,用如下方法就可以了:
    this.getParent().overridePendingTransition 就可以解决。
 3、在一个Activity的内部类中,或者匿名类中,这时候只好用handler来解决了。

4、手机的显示动画效果被人为或者其他方式给关闭了 现在打开即可 设置->显示->显示动画效果

2.直接上代码

要显示的Activity进入时的动画:

 <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="300"
android:fromXDelta="-100%"
android:toXDelta="0%p" /> </set>

要被遮盖住的Activity滑出时的动画:

 <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="300"
android:fromXDelta="0%"
android:toXDelta="100%p" /> </set>

MainActivity:

 public class MainActivity extends Activity {

     private Button btn;

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(MainActivity.this, SecondActivity.class);
startActivity(i);
overridePendingTransition(R.anim.in_from_right, R.anim.out_left);
}
});
} }

还有的Activity就没什么实质性的东西了,就不贴出来了。

效果如下:

效果图如下:

     源码下载

Android Activity的切换动画(overridePendingTransition)的更多相关文章

  1. Android Activity的切换动画

    Android的Activity切换有两种方法, 第一种是用代码方式实现: Activity A跳转到Activity B,要在startActivity(intent)后面加上overridePen ...

  2. Android的Activity屏幕切换动画(一)-左右滑动切换

    (国内知名Android开发论坛eoe开发者社区推荐:http://www.eoeandroid.com/) Android的Activity屏幕切换动画(一)-左右滑动切换 在Android开发过程 ...

  3. Activity切换动画(overridePendingTransition)-翻页效果

    Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画.{它包括两个部分:一部分是第一个activity退出时的动画:另外一部分时第二个activity进入时的动 ...

  4. Android的Activity屏幕切换动画左右滑动切换

    在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity ...

  5. Activity 设置切换动画

    extends://blog.csdn.net/luohaowang320/article/details/42124225 | http://blog.csdn.net/xuewater/artic ...

  6. Activity设置切换动画时黑屏问题的解决

    //当这么设置的时候.打开Acticity的时候会黑屏一下 overridePendingTransition(R.anim.activity_open,0); //改成例如以下代码 完美解决这个问题 ...

  7. Android Activity切换动画overridePendingTransition

    Activity在切换或者是退出的时候能够使用渐入,滑动,缩放等动态效果.使用的就是方法overridePendingTransition,能够直在Activity其中直接调用. overridePe ...

  8. Android的Activity屏幕切换动画-左右滑动切换

    . --> 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始 ...

  9. Android中的动画具体解释系列【4】——Activity之间切换动画

    前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自己定义动画.这一篇我们来看看怎样将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 ...

随机推荐

  1. SQL万能密码:' or 1='1

    select name,pass from tbAdmin where name='admin' and pass='123456' 输入用户名:' or 1='1 SQL变成下面这个样子: sele ...

  2. 分布式锁之三:Redlock实现分布式锁

    之前写过一篇文章<如何在springcloud分布式系统中实现分布式锁?>,由于自己仅仅是阅读了相关的书籍,和查阅了相关的资料,就认为那样的是可行的.那篇文章实现的大概思路是用setNx命 ...

  3. tp5下通过composer实现日志记录功能

    tp5实现日志记录 1.安装 psr/log composer require psr/log 它的作用就是提供一套接口,实现正常的日志功能! 我们可以来细细的分析一下,LoggerInterface ...

  4. SE新手游操控创新:一个按键=五个技能

    转自:http://www.gamelook.com.cn/2015/01/201299 GameLook报道 / 日本游戏厂商一向擅长搞发明创造,除了诞生了各种烧脑奇葩游戏以外,日本主流手机游戏的核 ...

  5. PCB打样前的注意事项

    0.画板前,在制定规则的时候,一定要查看生产厂家的生产工艺.  (厂家能打几层板.最小间距.焊盘最小和最大尺寸等等) 1.查看焊盘的孔径是否合适.  (检查能否插进去) 2.仔细检查购买的三端器件的引 ...

  6. springboot成神之——发送邮件

    本文介绍如何用spring发送邮件 目录结构 依赖 MailConfig TestController 测试 本文介绍如何用spring发送邮件 目录结构 依赖 <dependency> ...

  7. 01CSS的引入方式

    引入CSS方式(重点掌握) 行内样式 内接样式 外接样式 链接式 导入式 css介绍 现在的互联网前端分三层: HTML:超文本标记语言.从语义的角度描述页面结构. CSS:层叠样式表.从审美的角度负 ...

  8. 10 个你需要了解的 Linux 网络和监控命令

    我下面列出来的10个基础的每个linux用户都应该知道的网络和监控命令.网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nsloo ...

  9. ASP.NET MVC 基于表达式的动态查询

    项目源码地址:https://gitee.com/zhengwei804/DynamicCustomSearch

  10. python 模块 optparse

    optparse,是一个能够让程式设计人员轻松设计出简单明了.易于使用.符合标准的Unix命令列程式的Python模块.生成使用和帮助信息. 下面是一个简单的示例: import optparse p ...