当前位置: 代码迷 >> Android >> Android札记——Day1 *Activity生命周期 *Activiity切换效果
  详细解决方案

Android札记——Day1 *Activity生命周期 *Activiity切换效果

热度:113   发布时间:2016-05-01 14:09:00.0
Android笔记——Day1 *Activity生命周期 *Activiity切换效果

1、Android中Activity的生命周期。

http://www.oschina.net/question/54100_27841
???? 这是一个概念性的东西,在Android中Activity是最重要的类,每个Activity都会遵行它的生命周期,只要能理解下面的图片就可以了。
????

2、Activity之间的切换效果。

? ??http://www.oschina.net/code/snippet_97118_7692Activity屏幕切换

? ? ?http://www.oschina.net/question/97118_34523Activity屏幕切换原理

? ? ?http://www.oschina.net/code/snippet_4873_4772各种Activity之间的切换效果

? ? ?工程名:LeftRightSlide ? ? ??testAndroid

?

每一个Activity的切换效果都定义在一个xml文件中,在Java文件中定义Intent之后加上

overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);

第一个参数是下一个Activity进入的动画,第二个参数是这个Activity的退出动画。

Intent intent = new Intent();intent.setClass(LeftRightSlideActivity.this, SlideSecondActivity.class);startActivity(intent);overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);//这条语句一定要在startActivity之后			
?	

??? ? 下面要定义动画的xml文件。Activity的切换动画实际上是AndroidView Animation(视图动画)中的Tween Animation效果,Tween Animation分为4种动画效果,分别是:alpha (透明变化) translate(位置移动) scale(缩放) rotate(旋转)。<?xml version="1.0" encoding="utf-8"?>

<translate xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/accelerate_interpolator"    android:fromYDelta="0%p"    android:toYDelta="-100%p"    android:duration="1000"></translate>

? ?上面演示了位置移动的xml文件,其中android:interpolator定义了大体效果(更多的效果参见第二个网址),下面两个参数定义了进入位置和停止位置,最后一个参数定义了总的运行时间。一个动画可以定义多个<translate>,从而实现更多的动画,如下代码。

?

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:shareInterpolator="false" >    <translate        android:duration="200"        android:fromXDelta="0%p"        android:interpolator="@android:anim/accelerate_decelerate_interpolator"        android:toXDelta="2%p" />    <translate        android:duration="1000"        android:fromXDelta="2%p"        android:interpolator="@android:anim/accelerate_interpolator"        android:startOffset="200"        android:toXDelta="-100%p" /></set>

? ?更多的参数参见Android参考文档。

?

  相关解决方案