android中activity间动画跳转

来源:互联网 发布:linux ln -s 编辑:程序博客网 时间:2024/05/16 17:48

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">        android中activity间动画跳转,如何能添加上动画,app的用户交互性就显得提升不少。</span>

我们的项目的不仅仅包括业务功能,用户体验和交互我们也得充分考虑。

 android中activity间动画跳转,可以是个别anctivity间,也可以设置所有activity的动画跳转和退出跳转。像我们都比较熟悉的大众点评网,已经这样做了。

首先,我们来说说单个anctivity的动画跳转;

overridePendingTransition(int enterAnim, int exitAnim)这个函数就可帮我们实现,前提是准备好跳转动画资源,可以使系统的,也可以是自定义的。看实例代码:

package com.example.flashScreen;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;/** * * @ClassName: SplashScreen * @Description: TODO(跳转动画) * @author daodao ( dao.dev@qq.com ) * @date 2014年11月25日 上午10:06:51 * */public class SplashScreen extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.splashscreen);new Handler().postDelayed(new Runnable() {@Overridepublic void run() {//Intent mainIntent = new Intent(SplashScreen.this,//MainActivity.class);Intent mainIntent = new Intent(SplashScreen.this,com.example.TranslateAnimation.Menu.TranslateAnimationMenu.class);SplashScreen.this.startActivity(mainIntent);SplashScreen.this.finish();//实现淡入淡出的效果  overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_in);//由左向右滑入的效果//overridePendingTransition(android.R.anim.slide_in_left,android.//R.anim.slide_out_right);//实现 zoomin 和 zoomout,即类似 iphone 的进入和退出时的效果  (自定义动画zoomin,zoomout)  overridePendingTransition(R.anim.zoomin, R.anim.zoomout);}}, 3000);}}
 

再者,我们来谈谈项目中所有anctivity的动画跳转,即适应于全局的动画跳转;


准备好进入和退出动画资源文件,接下来我们需要定义样式资源,之前我们设置动画效果都是写在activity中,只能对单个activity定义动画。现在我们对所有的activity定义动画效果,我们不妨设想一下应该定义一个样式,在所有包裹activity的地方引入样式。这样我们就想到了AndroidManifest.xml里的application 了,他里面生命所有的activity,明白了这些就好办了。

     接下来我们在style.xml声明动画的样式

    <style name="MyAnimationActivity" mce_bogus="1"><item name="android:windowAnimationStyle">@style/AnimationActivity</item><item name="android:windowNoTitle">true</item></style>     <style name="AnimationActivity" parent="@android:style/Animation.Activity" mce_bogus="1"><item name="android:activityOpenEnterAnimation">@anim/anim_enter</item><item name="android:activityOpenExitAnimation">@anim/anim_exit</item><item name="android:activityCloseEnterAnimation">@anim/back_enter</item><item name="android:activityCloseExitAnimation">@anim/back_exit</item></style>

 然后在 AndroidManifest.xml里声明样式

 <application   android:icon="@drawable/ic_launcher"  android:theme="@style/MyAnimationActivity"         android:label="@string/app_name" >        <activity            android:label="@string/app_name"            android:name=".StartActivity" >            <intent-filter >                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>         <activity android:name=".OtherActivity1"></activity>  <activity android:name=".OtherActivity2"></activity> <activity android:name=".OtherActivity3"></activity>    </application>

      so,这样就完成类似于大众点评网activity的动画跳转的功能





0 0
原创粉丝点击