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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45136073/article/details/97158166

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开发的同行,这边给大家整理了一些资料,其中分享内容包括但不限于
【高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术】
希望能帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也是可以分享给身边好友一起学习的!

转发+点赞,加入Android开发交流群(820198451)获取小编为大家收录的进阶资料和面试题库

在这里插入图片描述

转发+点赞,加入Android开发交流群(820198451)获取小编为大家收录的进阶资料和面试题库

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

展开阅读全文

没有更多推荐了,返回首页