您的位置:首页 > 移动开发 > Android开发

Android动画实践结论

2014-08-16 19:09 393 查看
实践出真知:

一>平移动画

overridePendingTransition(R.anim.enterAnim,R.anim.exitAnim);

方法中第一个参数表示进enterAnim,第二个参数表示出exitAnim;怎么理解呢?

比如:如果我写出这样的一个效果,如同在网易新闻上的一样。当你点击一条新闻的时候,好像当前页面不动,然后所请求的新闻页面从右向左逐渐平移过来并完全遮掩(覆盖)当前页面。如果实现它,看XML代码:

/**  enterAnim  */
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >
<translate
android:duration="500"
android:fromXDelta="100%"
android:toXDelta="0%"
android:interpolator="@android:anim/accelerate_interpolator"/>

</set>
/** exitAnim  */
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:interpolator="@android:anim/decelerate_interpolator"
android:toXDelta="0%" />

</set>

然后,当你要跳转到另一页面时候在startActivity(Intent intent);之后放置上面的方法。

运行一下效果你就会知道,所谓的“进”就等同于,当前不想要看到的页面。咱要让它消失;相反,则”出“就是让你想要看到的新页面呈现出来并遮住(覆盖)当前页;

当点击返回时候,应用效果和上面的点击效果相反;效果:当前页向右平移撤去,原先当前页下面的页面原封的呈现出来。

当然还是使用上面的方法,此时XML代码如下;

/** enterAnim  */
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="0%" />

</set>
/** exitAnim  */
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >

<translate
android:duration="500"
android:fromXDelta="0%"
android:interpolator="@android:anim/decelerate_interpolator"
android:toXDelta="100%" />

</set>

依然使用方法:

overridePendingTransition(R.anim.enterAnim,R.anim.exitAnim);


思路与请求效果思路相反;

其实,平移就是相当于一条河流;首先要知道该河流要想那个方向走。

比如向左:设置定方法的第一个参数(令当前页面向左平移)是从右向左移动,紧跟着请求页面(第二个参数)也是同方向从右向左平移。这样才能实现平移的流动性;

 

待续。。。。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息