切换两个activity

下面是一个切换两个activity是过度动画效果实例: (注意里面的overridePendingTransition()方法)

Java代码

1.  @Override

public  void  onCreate(Bundle  savedInstanceState)  {

super.onCreate(savedInstanceState);

setContentView(R.layout.SplashScreen);

new  Handler().postDelayed(new  Runnable()        {

@Override

public  void  run()         {

Intent  mainIntent  =  new  Intent(SplashScreen.this,AndroidNews.class);

SplashScreen.this.startActivity(mainIntent);

SplashScreen.this.finish();

overridePendingTransition(R.anim.mainfadein,R.anim.splashfadeout);

}

},3000);

}

1.若要实现淡入淡出效果,就要将overridePendingTransition()方法修改为:overridePendingTransition(Android.R.anim.fade_in,android.R.anim .fade_out);

2.若要实现左向右滑入的效果  :     overridePendingTransition(Android.R.anim.slide_in_left,android. R.anim.slide_out_right);

3.实现zoomin 和zoomout,即类似iphone的进入和退出时的效果:   overridePendingTransition(R.anim.zoomin,  R.anim.zoomout);     这里我们自己定义zoomin.xml和zoomout.xml

zoomin.xml  代码:

1.  <?xml  version="1.0"  encoding="utf-8"?>

2.  <set

3.  xmlns:Android="http://schemas.android.com/apk/res/android"

4.  Android:interpolator="@android:anim/decelerate_interpolator"> <scale  Android:fromXScale="2.0"  android:toXScale="1.0"

5.  Android:fromYScale="2.0"  android:toYScale="1.0"

6.  Android:pivotX="50%p"  android:pivotY="50%p"

7.  Android:duration="@android:integer/config_mediumAnimTime"  /> </set>     可能有很多人不理解其中的android:interpolator="@android:anim/decelerate_interpolator"是什么含义,文档里说的也不太清楚,其实很简单,看下面:       interpolator定义一个动画的变化率(the rate of change)。这使得基本的动画效果(alpha, scale, translate, rotate)得以加速,减速,重复等。

用通俗的一点的话理解就是:动画的进度使用 Interpolator 控制。Interpolator 定义了动画的变化速度,可以实现匀速、正加速、负加速、无规则变加速等。Interpolator 是基类,封装了所有 Interpolator 的共同方法,它只有一个方法,即 getInterpolation (float input),该方法 maps a point on the timeline to a multiplier to be applied to the transformations of an animation。Android 提供了几个 Interpolator 子类,实现了不同的速度曲线,如下:

AccelerateDecelerateInterpolator        在动画开始与介绍的地方速率改变比较慢,在中间的时侯加速 AccelerateInterpolator        在动画开始的地方速率改变比较慢,然后开始加速 CycleInterpolator        动画循环播放特定的次数,速率改变沿着正弦曲线 DecelerateInterpolator        在动画开始的地方速率改变比较慢,然后开始减速 LinearInterpolator        在动画的以均匀的速率改变 对于 LinearInterpolator ,变化率是个常数,即 f (x) = x. public float getInterpolation(float input) { return input; } Interpolator其他的几个子类,也都是按照特定的算法,实现了对变化率。还可以定义自己的 Interpolator 子类,实现抛物线、自由落体等物理效果。 就到这里了,希望对大家有帮助...

时间: 2024-10-27 07:45:09

切换两个activity的相关文章

Android自定义通知布局Notification,点击Notification导航切换回原Activity

一个简单的应用场景:假如用户打开Activity以后,按Home键,此时Activity 进入-> onPause() -> onStop() 不可见.代码在此时机发送一个Notification到通知栏.当用户点击通知栏的Notification后,又重新onRestart() -> onStart() -> onResume() 切换回原Activity. package zhangphil.pendingintent; import android.os.Bundle; im

基础问题:在一个 Activity 中定义的串口接收程序,如果 Activity 切换到其它 Activity 后还能接收到串口数据吗?

============问题描述============ RT:基础问题:在一个 Activity 中定义的串口接收程序,如果 Activity 切换到其它 Activity 后还能接收到串口数据吗? 我的程序有两个 Activity,在启动后的 Activity 中已经验证了接收与发送数据. 后继做了第二个 Activity,此时从第二个 Activity 返回 第一个 Activity 时串口的接收线程会出错.调试了一下,串口再次被初始化了. 问题: (1)不想串口被反复初始化,应该如何做?

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

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

【Android开发那点破事】消息推送BroadcastReceiver,点击通知打开两次Activity问题

Android开发中,通常会使用BroadcastReceiver来接受Push推送消息.当APP收到推送通知时,我们需要在通知的点击事件中加入自己的逻辑.比如跳转到MainActivity.比如下面的代码(注意红色部分): public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); if (JPushInterface.ACTION_REGISTRATION_ID.equ

Android Bundle类,通过bundle实现在两个activity之间的通讯

根据google官方的文档(http://developer.android.com/reference/android/os/Bundle.html) Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.” 类继承关系: java.lang.Object     android.os.Bundle Bundle类是一个final类:public final classBundleexten

Intent ,Bundle 组件 两个Activity 互相传值

第一个Activity 1 /** 2 * 3 */ 4 package com.flysnow.sina.weibo; 5 6 import android.app.Activity; 7 import android.content.Intent; 8 import android.os.Bundle; 9 import android.view.View; 10 import android.widget.Button; 11 import android.widget.EditText;

安卓权威编程指南 - 第五章学习笔记(两个Activity)

学习安卓编程权威指南第五章的时候自己写了个简单的Demo来加深理解两个Activity互相传递数据的问题,然后将自己的学习笔记贴上来,如有错误还请指正. IntentActivityDemo学习笔记 题目:ActivityA登录界面(用户名.密码.登陆按钮),ActivityB(Edit,返回按键:SubmitButton).A界面输入用户名和密码传到B中,B验证用户输入的用户名和密码,如果错误就返回A,并用Toast 显示用户名和密码错误:如果正确,就在第二个 activity中显示一个Edi

android实现两个activity数据交互

android如何实现两个Activity数据交互?主要是根据Intent的携带功能,intent可以携带很多信息,比如Bundle,URI甚至对象(此时要序列化,并且对象里面的成员变量如果是对象,也要序列化),实现的具体代码如下: package com.example.yzj.android_8_3; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatAc

Android两个Activity传递数据,onActivityResult获取结果时Intent为空问题

    环境:设两个Activity A 和 B,A通过调用startActivityForResult()向B传送数据,B收到数据经过处理后将数据放入Intent使用setResult(resultcode,inten)返回. 现象:在A的onActivityResult(int requestCode, int resultCode, Intent data) 中获取数据时,Intent为空,无法获取数据. 原因:在Activity B中,setResult的调用须在Activity的声明周