《转载》两个activity界面间跳转切换动画效果

1overridePendingTransition

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

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

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

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

2 官方给我们提供的动画效果

实现淡入淡出的效果

overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);    

由左向右滑入的效果

overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);

3overridePendingTransition 不起作用原因

1、android系统版本2.0以下,这个没办法,想其他办法解决切换动画吧。

2、在ActivityGroup等的嵌入式Activity中,这个比较容易解决,用如下方法就可以了:

this.getParent().overridePendingTransition 就可以解决。

3、在一个Activity的内部类中,或者匿名类中,这时候只好用handler来解决了。

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

4 自定义动画

步骤一:首先在res/anim 下  声明两个动画效果

fade.xml

 <?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
           android:interpolator="@android:anim/accelerate_interpolator"
           android:fromAlpha="0.0" android:toAlpha="1.0"
           android:duration="@android:integer/config_longAnimTime" />  

hold.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromXDelta="0" android:toXDelta="0"
       android:duration="@android:integer/config_longAnimTime" /> 

步骤二:在activity跳转的时候加上overridePendingTransition方法

  refresh=(TextView) this.findViewById(R.id.refresh);
           refresh.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent=new Intent(PathButtonActivity.this,MainActivity.class);
                startActivity(intent);
                //第一个参数为启动时动画效果,第二个参数为退出时动画效果
                overridePendingTransition(R.anim.fade, R.anim.hold);
            }
        });  
时间: 2024-10-14 07:13:09

《转载》两个activity界面间跳转切换动画效果的相关文章

android XML动画初步解析(activity界面之间跳转demo)

上一篇文章android 简单地设置Activity界面的跳转动画讲了简单的activity界面之间的跳转,并且使用的是android内置的一些动画,此章就小提一下如何自己写一些动画来进行跳转. 按例,还是上一下效果:(结尾附上源码)     要自己写动画,首先要对动画的一些属性有一定了解: interpolator:被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等. an

android开发中,两个按下手机实体返回键,两个Activity反复来回跳转的问题

android开发中,对于用intent实现跳转的Ativity,有时候按下手机的返回键时,两个Activity之间会多次相互跳转,始终退出不了程序的情况.这是由于从Activity  A跳转到Activity  B时,A被压入Activity栈中:当从B返回时,默认又重新创建了一个Activity A对象,这样一来就有了多个Activity A对象.所以造成了无法退出情况. 解决办法是:在AndroidManifest.xml文件中找到Activity A项,在其属性中加入  android:

android Activity切换动画效果

为Activity设置左右进出的效果,可以通过在Mainfest.xml文件中设置主题的方式来实现.还可以使用java代码. 一.设置样式 先看看实现动画的样式: <style name="AnimationRToL" mce_bogus="1" parent="@<span style="color:#ff0000;">android:style/Animation.Activity</span>&quo

页面跳转添加动画效果

CATransition *animation = [CATransition animation];//初始化 [animation setDuration:0.5];//设置时间间隔 [animation setType: kCATransitionReveal]; [animation setSubtype: kCATransitionFromTop]; [animation setTimingFunction:[CAMediaTimingFunction functionWithName

Xcode界面切换动画效果

CATransition *animation = [CATransition animation]; [animation setDuration:0.2f]; [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; [animation setType:kCATransitionPush]; if (isLeft) { [animation set

界面切换动画效果

private ViewFlipper flipper; private float startX; private Animation in_lefttoright; private Animation outlefttoright; private Animation in_righttoleft; private Animation out_righttoleft; @Override public void onCreate(Bundle savedInstanceState) { su

Android实现Activity页面跳转切换动画特效

了解Android程序设计的人应该知道,在Android 2.0之后有了overridePendingTransition(),其中里面两个参数,一个是前一个activity的退出,另一个activity的进入. 如下代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.SplashScreen); ne

两个activity之间的跳转与传值

一:什么是Activity? 简单的说:Activity就是布满整个窗口或者悬浮于其他窗口上的交互界面.在一个应用程序中通常由多个Activity构成,都会在Manifest.xml中指定一个主的Activity,如下设置 <actionandroid:name="android.intent.action.MAIN" />当程序第一次运行时用户就会看这个Activity,这个Activity可以通过启动其他的Activity进行相关操作. 二:Activity的跳转与传值

android学习——实现两个activity之间的跳转

首先在第一个activity中创建一个按钮,id为button 然后在第一个activity的代码中创建监听器实现跳转,主activity代码如下: public class FirstActivity extends AppCompatActivity { //声明一个button按钮(不需要和实际按钮同名) Button bt1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav