【Android】实现Activity页面切换动画

作者:邹峰立,微博:zrunker,邮箱:[email protected],微信公众号:书客创作,个人平台:www.ibooker.cc。

本文选自书客创作平台第55篇文章。阅读原文 。

【Android】实现Activity页面切换动画_第1张图片
书客创作

在很多应用中页面跳转动画可能各不相同,可能是左右滑动,也可能是上下切换或者淡入淡出等。这些页面切换效果是怎么实现的呢?

AppTheme简介

其实在Android开发中可以通过代码去实现页面切换效果,也可以通过设置Theme主题来实现,但是应用程序主题AppTheme往往会被一些开发者忽略掉,因为在一般开发中默认主题就可以了。其实主题设置可以实现APP很多效果,例如实现窗体透明显示,APP整体切换效果等。

AppTheme实现窗体透明显示

采用Eclipse开发APP过程中,可能一些开发者会遇到进入App的时候先会白屏或者黑屏一下之后在进入我们想要的布局,这个原因有多种可能是主题设置问题(默认主题导致/自定义主题不合理导致),也可能是机型问题(不同的手机默认主题不一样)。这时候就可以通过设置AppTheme来解决这一问题。
设置主题需要在res文件夹中找到style.xml,并修改默认主题:



    


    

之后再清单文件AndroidManifest.xml中设置修改后的主题为应用主题:


        ......

AppTheme实现页面整体切换动画-右进左出

有时候为了满足所有机型切换动画统一或者为了实现独特的页面整体切换动画,可以借助于AppTheme进行实现。

如果要实现应用程序右进左出的效果,该怎么实现呢?

首先要定义页面动画。

在res/anim文件添加动画文件,这里定义slide_left _in.xml(页面关闭进入),slide_left _out.xml(页面打开退出),slide_right _in.xml(页面打开进入),slide_right _out.xml(页面关闭退出)。

A:slide_left _in.xml



    

B:slide_left _out.xml



    

C:slide_right _in.xml



    

D:slide_right _out.xml



    

设置主题动画

最后只要在style.xml中修改AppTheme主题动画即可。



  
    

  
    
    


代码实现页面切换动画

在开发中经常会遇到一些比较特殊的页面要进行特定的页面切换动画,这个时候可以借助于代码实现相应的动画效果。

要想通过代码实现页面切换效果,需要借助于Activity类提供的overridePendingTransition方法来运行页面进入和退出动画。

/*
 *  页面切换动画
 *  @param enterAnim 第二个activity进入时的动画
 *  @param exitAnim 第一个activity退出时的动画
 */
overridePendingTransition(int enterAnim, int exitAnim);

该方法是Android2.0之后才有的方法,只要紧挨着startActivity()或者finish()函数之后调用,就能实现页面切换动画。

如:从MainActivity到BActivity

// 进入BActivity
Intent intent = new Intent(this, BActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);

其中R.anim.zoomin和R.anim.zoomout是自定义的动画文件,保存到res/anim。

A:zoomin.xml




  

  
    


B:zoomout.xml




  

  
    


Github地址
阅读原文


【Android】实现Activity页面切换动画_第2张图片
微信公众号:书客创作

你可能感兴趣的:(【Android】实现Activity页面切换动画)