专栏首页Android进阶之路Android全方位性能调优:几种常用界面切换效果
原创

Android全方位性能调优:几种常用界面切换效果

Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。 它包括两个部分: 一部分是第一个activity退出时的动画; 另外一部分时第二个activity进入时的动画; 在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition

@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 );
}

上面的代码只是闪屏的一部分。

getWindow (). setWindowAnimations ( int );    
getWindow (). setWindowAnimations ( int );

这可没有上个好但是也可以 。

实现淡入淡出的效果1:

overridePendingTransition(R.anim.splash_screen_fade, R.anim.splash_screen_hold);

实现淡入淡出的效果2:

overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);     

由左向右滑入的效果:

overridePendingTransition(Android.R.anim.slide_in_left,android.R.anim.slide_out_right);     

实现zoominzoomout,即类似iphone的进入和退出时的效果:

overridePendingTransition(R.anim.zoomin, R.anim.zoomout);    
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);

新建zoomin.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.android.com/apk/res/android"
        Android:interpolator="@android:anim/decelerate_interpolator">
    <scale Android:fromXScale="2.0" android:toXScale="1.0"
           Android:fromYScale="2.0" android:toYScale="1.0"
           Android:pivotX="50%p" android:pivotY="50%p"
           Android:duration="@android:integer/config_mediumAnimTime" />
</set>

新建zoomout.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.android.com/apk/res/android"
       Android:interpolator="@android:anim/decelerate_interpolator"
       Android:zAdjustment="top">
   <scale Android:fromXScale="1.0" android:toXScale=".5"
          Android:fromYScale="1.0" android:toYScale=".5"
          Android:pivotX="50%p" android:pivotY="50%p"
          Android:duration="@android:integer/config_mediumAnimTime" />
   <alpha Android:fromAlpha="1.0" android:toAlpha="0"
           Android:duration="@android:integer/config_mediumAnimTime"/>
</set>  

最后

如果你看到了这里,觉得文章写得不错就给个呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

希望读到这的您能转发分享订阅一下我,以后还会更新技术干货,谢谢您的支持!

点赞+关注+订阅,第一时间获取最新知识点

Android架构师之路很漫长,一起共勉吧!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android全方位性能调优:启动页面(闪屏页面)的实现

    首先在AndroidManifest.xml中注册新加入的SplashActivity。 然后将的内容放在SplashActivity下。 意思就是让Splas...

    Android架构
  • BAT最新内部Android经典面试题目大汇总!

    3、 字符串“abcde”通过写一个函数不让调用第三方的字符串,实现一个字符串倒序,比如字符串“abcde” 变成“edcba”

    Android架构
  • 关于Android Auto:你需要知道的全都在这了!

    我是Android Auto的忠实粉丝。实际上,我是一个狂热的粉丝,在高速公路上飞行的时候,任何能让人们的手机从胖胖的手指中拿出来的东西。或者在红绿灯处。在任何...

    Android架构
  • Android Studio 遇到问题集锦

    Android Studio First Run 检测 Android SDK 及更新,由于众所周知的原因,我们会「Unable to access Andro...

    mzlogin
  • Android编程实现压缩图片并加载显示的方法

    本文实例讲述了Android编程实现压缩图片并加载显示的方法。分享给大家供大家参考,具体如下:

    砸漏
  • Navigation Drawer的使用及遇到的问题

    ActionBar的问题     Navigation View是Android Support Library中的一个新的组件,该组件提供类似于Sliding...

    24K纯开源
  • Android XRecyclerView实现多条目加载

    本文实例为大家分享了Android实现多条目加载展示的具体代码,供大家参考,具体内容如下

    砸漏
  • 实习杂记(27):android中关于横竖屏切换的那些事

    关于Android中Activity的横竖屏切换问题可以通过AndroidManifest.xml文件中的Activity来配置:

    wust小吴
  • kotlin构建MVVM应用之双向数据绑定

    我们在构建MVVM应用的时候数据时双向流动的,比如:用户输入了数据,那么我们的model层的数据也要自动跟着更新或者我们校验了数据,是图层也要给用户反馈;网络请...

    大话swift
  • Android TextView实现带链接文字事件监听的三种常用方式示例

    本文实例讲述了Android TextView实现带链接文字事件监听的三种常用方式。分享给大家供大家参考,具体如下:

    砸漏

扫码关注云+社区

领取腾讯云代金券