android 动画(二)——avitivity 动画

说说acitivity 跳转之间的动画

比如通过

startActivity(new Intent(this, TwoActivity.class));
overridePendingTransition(R.anim.activity_right, R.anim.activity_left);

实现的,然后在TwoActivity 界面返回MainActivity界面;

finish();
overridePendingTransition(R.anim.activity_right_back, R.anim.activity_left_back);

我们再来看看这四个动画的定义:

acitivity_left


<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false">
    
   
        <!-- //android:duration="@android:integer/config_shortAnimTime" -->
     <translate 
     	android:duration="2000"
     	android:fromXDelta="0%p"
     	android:interpolator="@android:anim/accelerate_interpolator"
     	android:toXDelta="-100%p"
     />
</set>

acitivity_right

<set xmlns:android="http://schemas.android.com/apk/res/android">
    
    <translate 
    	android:duration="2000"
    	android:fromXDelta="100%p"
    	android:interpolator="@android:anim/anticipate_overshoot_interpolator"
    	android:toXDelta="0%p"

         />
</set>

acitivity_left_back


<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false">
     <translate 
     	android:duration="@android:integer/config_shortAnimTime"
     	android:fromXDelta="0%p"
     	android:interpolator="@android:anim/accelerate_interpolator"
     	android:toXDelta="100%p"
     />
</set>

acitivity_right_back

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate 
    	android:duration="@android:integer/config_shortAnimTime"
    	android:fromXDelta="-100%p" 
    	android:interpolator="@android:anim/anticipate_overshoot_interpolator"
    	android:toXDelta="0%p" />
</set>

这时候,我们再分析一下,overridePendingTransition(int enterAnim, int exitAnim),当我们从A到B的时候,这时候A执行的是exitAnim, 而B执行的是enterAnim ,当从B返回A的时候,就反过来了。所以第一次从MainActivity 到TwoAcitivty, MainAcitivty是从0 到-100 ,而TwoActivy是从100到0,这样明白这个道理后,上进下出也是同样的道理。

以上分析还可以参考

 文章

https://blog.csdn.net/wu996489865/article/details/52757544 这篇文章加入了坐标分析;

https://blog.csdn.net/w630886916/article/details/78319502 这是转场动画示例和描述;

猜你喜欢

转载自blog.csdn.net/sjh_389510506/article/details/88219561