Android Activity动画属性简介

在Android当中 设置activity的动画 需要复写android:windowAnimationStyle这个属性

我们自定义一个动画样式来继承 @android:style/Animation(Base style for animations. This style specifies no animations)

这个样式是Android操作系统提供的 没用动画的样式 我们定义其中的4个属性还设置我们想要的效果

android:activityOpenEnterAnimation 一个activity创建进入的效果。

android:activityOpenExitAnimation 一个activity还没有finish()下退出效果, 比如有俩个activity A与B 首先启动A 然后再启动B 那么A还没有finish() 这时A的退出效果。

android:activityCloseEnterAnimation 表示上一个activity返回进入效果 比如有俩个activity A与B B在最上面,B退出(finish)后 A重新进入的效果。

android:activityCloseExitAnimation 表示的是activity finish()之后的效果 比如有俩个activity A与B B退出后会被finish() 那么B的退出效果在这定义。

下面写一个activity左右滑动的效果。

    <style name="AppTheme" parent="@android:style/Theme">             <item name="android:windowAnimationStyle">@style/activityAnimation</item>    </style>
    <style name="activityAnimation" parent="@android:style/Animation">        <item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>        <item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>        <item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>        <item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>    </style>

slide_left_in.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">    <translate android:duration="300" android:fromXDelta="-100.0%p" android:toXDelta="0.0" /></set>

slide_left_out.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">    <translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="-100.0%p" /></set>

slide_right_in.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">    <translate android:duration="300" android:fromXDelta="100.0%p" android:toXDelta="0.0" /></set>

slide_right_out.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">    <translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="100.0%p" /></set>

上面是通写配置文件的方式来定义activity的动画效果,我们还可以通过代码的方式来指定动画效果。

overridePendingTransition(int enterAnim, int exitAnim)

all immediately after one of the flavors ofstartActivity(Intent)orfinish()to specify an explicit transition animation to perform next.

这个方法可以放在startActivity(intent)和finish()方法的后面。

(A启动B A不动 B从下面滑入)

第一个参数是进入activity的动画,第二个参数是当前activity退出时的动画。

Intent intent = new Intent(NavigationDemo.this, AnimationActivity.class); startActivity(intent); overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.hold);

slide_in_from_bottom.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="@android:integer/config_longAnimTime" android:fromYDelta="100%p" android:toYDelta="0" />

hold.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="@android:integer/config_longAnimTime" android:fromXDelta="0" android:interpolator="@android:anim/accelerate_interpolator" android:toXDelta="0" />

(A与B B退出时从下面滑出)

第一个参数指定A进入时的效果,为0表示没有动画, 第二个参数表示当前B退出时的动画。

@Override public void finish() { super.finish(); overridePendingTransition(0, R.anim.slide_out_to_bottom); } }

slide_out_to_bottom.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="@android:integer/config_longAnimTime" android:fromYDelta="0" android:toYDelta="100%p" />

更多相关文章

  1. [android]实现拖动效果
  2. Android View MarqueeView 跑马灯效果
  3. android textview 实现跑马灯效果
  4. TextView 的阴影效果 及小圆点 跑马灯
  5. 实现Android简单动画旋转案例
  6. Android设置透明效果
  7. android中的帧动画
  8. android 动画

随机推荐

  1. Android(安卓)studio重装的痛苦经历
  2. 利用BLCR加快android的启动过程
  3. Android 的提权 (root) 原理是什么?
  4. Linux和Android的区别和联系
  5. Android4开发入门经典 之 第一部分:Androi
  6. Android的API与差异化之路
  7. Android 中关于CheckBox、RadioButton、T
  8. Android 各大网络请求库的比较及实战
  9. 单挑苹果:Android系三剑客尚需时日?
  10. Google:Android将尝试兼容iPhone程序