Android Activity/活动页面切换实现动画效果
2015-05-13 15:41
543 查看
1.首先在res/anim下新建动画文件:
1)当前活动页面退出动画:
这里可以使用的标签有主要有<scale>, <alpha>, <rotation>。
<scale>标签中interpolator指动画的效果,我使用的是系统的加速-减速的效果。
duration指整个动画播放时间,以毫秒为单位。
fromXScale/toXScale值X方向长度从100%变化成80%,fromYScale/toYScale同理。
pivotX/pivotY指缩放中心,我这里以左中为中心点缩放,若设置50%/50%则以中心点缩放。
<alpha>标签很容易理解,在500ms内从可见变为不可见。
2)传入的活动页面进入动画:
动画效果和进入相呼应,方向相反。
2.在Java代码中的实现:
这里调用方法overridePendingTransition(),次方法接受两个参数,第一个为传入的活动页面进入动画,第二个为当前活动页面退出动画。
1)当前活动页面退出动画:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:duration="500" android:fromXScale="1" android:fromYScale="1" android:pivotX="0%" android:pivotY="50%" android:toXScale="0.8" android:toYScale="0.8"/> <alpha android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:duration="500" android:fromAlpha="1" android:toAlpha="0"/> </set>
这里可以使用的标签有主要有<scale>, <alpha>, <rotation>。
<scale>标签中interpolator指动画的效果,我使用的是系统的加速-减速的效果。
duration指整个动画播放时间,以毫秒为单位。
fromXScale/toXScale值X方向长度从100%变化成80%,fromYScale/toYScale同理。
pivotX/pivotY指缩放中心,我这里以左中为中心点缩放,若设置50%/50%则以中心点缩放。
<alpha>标签很容易理解,在500ms内从可见变为不可见。
2)传入的活动页面进入动画:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:duration="500" android:fromXScale="0.8" android:fromYScale="0.8" android:pivotX="100%" android:pivotY="50%" android:toXScale="1" android:toYScale="1"/> <alpha android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:duration="500" android:fromAlpha="0" android:toAlpha="1"/> </set>
动画效果和进入相呼应,方向相反。
2.在Java代码中的实现:
…… switch (item.getItemId()) { case R.id.action_setting: Intent intent1 = new Intent(MainActivity.this, SettingActivity.class); startActivity(intent1); overridePendingTransition(R.anim.enter_zoom_in,R.anim.enter_zoom_out); break; case R.id.action_about: Intent intent2 = new Intent(MainActivity.this, About.class); startActivity(intent2); overridePendingTransition(R.anim.enter_zoom_in,R.anim.enter_zoom_out); break; } ……
这里调用方法overridePendingTransition(),次方法接受两个参数,第一个为传入的活动页面进入动画,第二个为当前活动页面退出动画。
相关文章推荐
- Android中用ViewPager实现多页面滑动切换及动画效果的实例
- Android的一个项目中,实现页面之间切换时的动画效果
- Android开发之ViewPager实现多页面切换及动画效果(仿Android的Launcher效果)
- android 移动开发 手势切换页面实现动画效果
- Android编程实现ViewPager多页面滑动切换及动画效果的方法
- Android开发之ViewPager实现多页面切换及动画效果(仿Android的Launcher效果)
- Android之app引导页(背景图片切换加各个页面动画效果)
- jQuery实现切换页面过渡动画效果
- 【Android 界面效果1】ViewPager多页面滑动切换以及动画效果
- Android ViewPager多页面滑动切换以及动画效果
- Android app引导页(背景图片切换加各个页面动画效果)
- Android ViewPager多页面滑动切换以及动画效果
- Android ViewPager多页面滑动切换以及动画效果
- Android ViewPager多页面滑动切换以及动画效果
- Android 左右滑动切换页面或Activity的效果实现
- Android ViewPager多页面滑动切换以及动画效果
- Android Tab页面手势滑动切换以及动画效果
- Android 利用ViewPager实现底部圆点导航左右滑动效果以及Fragment页面切换
- 转:Android ViewPager多页面滑动切换以及动画效果