在Activity中Android提供了overridePendingTransition(int enterAnim,int exitAnim)这个方法用于设置Activity之间切换的动画效果。overridePendingTransition方法要放到startActivity()或finish()(如果存在finish则要放到finish后面)后面。

enterAnim 定义Activity进入屏幕时的动画

exitAnim 定义Activity退出屏幕时的动画

系统中也提供了几种动画效果例如:

android.R.anim.slide_in_left 从左边滑入

android.R.anim.slide_out_right 从右边滑出

android.R.anim.fade_in  淡入

android.R.anim.fade_out  淡出

在这里我们可以自定义动画效果:

首先在res文件夹下面新建一个anim文件

(1)in_from_left.xml  从左边滑入

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

(2)in_from_right.xml  从右边滑入

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

(3)out_to_left.xml  从左边滑出

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

(4)out_to_right.xml  从右边滑出

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

使用方法:

从右边进入,左边离开

private OnClickListener btnListener = new OnClickListener(){        public void onClick(View view){            Intent intent = new Intent(MainActivity.this,OtherActivity.class);            startActivity(intent);            overridePendingTransition(R.anim.in_from_right,R.anim.out_to_left);        }    };

从左边进入,右边离开

private OnClickListener btnListener = new OnClickListener(){        public void onClick(View view){            Intent intent = new Intent(OtherActivity.this,MainActivity.class);            startActivity(intent);            finish();            overridePendingTransition(R.anim.in_from_left,R.anim.out_to_right);        }    };

更多相关文章

  1. Android(安卓)之AnimationDrawable
  2. Android新组件应用
  3. Android如何获取屏幕的分辨
  4. Property Animation
  5. TextView的使用
  6. Android(安卓)2.1 环境搭建
  7. android 开发技巧(7)--附加 Ken Burns 特效的幻灯片
  8. android TabHost简单使用
  9. Android的Master/Detail风格界面中实现自定义ListView的单选

随机推荐

  1. 精选的优秀ROM
  2. android之首选项相关 Preferences(三)EditT
  3. kotlin 配置开发环境
  4. Android学习笔记(三)UI布局
  5. Android获取桌面启动图标的位置
  6. Android跨进程通信之ContentProvider
  7. android异常:Can not perform this action
  8. Android(安卓)TabLayout宽度在平板上未铺
  9. android 4.4 沉浸式状态栏实现
  10. Android(安卓)网络编程 Socket Http