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(安卓)View MarqueeView 跑马灯效果
  2. [android]实现拖动效果
  3. android textview 实现跑马灯效果
  4. TextView 的阴影效果 及小圆点 跑马灯
  5. 实现Android简单动画旋转案例
  6. Android(安卓)Scrollview
  7. android中的帧动画
  8. Android设置透明效果
  9. Android(安卓)ViewFlipper/ViewSwitcher/ViewPager/VerticalView

随机推荐

  1. Android(安卓)Layout 布局属性全解
  2. Androidの应用源码下载地址
  3. Android(安卓)boot sequence (ANDROID-LE
  4. Android警告错误搜集
  5. android修改进程名
  6. Android: PowerManager.WakeLock
  7. Android(安卓)Component 简介
  8. android电话拦截及短信过滤
  9. Android7.0中文文档(API)-- RemoteViews
  10. android单元测试