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 使用xml selector设置按钮点击效果图片
  2. Android动画学习笔记-Android Animation
  3. Android 带有角标的imageview,类似于qq、微信未读消息提示效果
  4. 【Android 界面效果12】EditText中的多行输入问题
  5. android 布局实例解析 柱状图效果
  6. CoordinatorLayout使用自定义Behavior实现UC浏览器顶栏效果
  7. Android 控件的显示隐藏上下左右移动动画
  8. Android动画一

随机推荐

  1. Android(安卓)集成Chrome 浏览器内核 Cro
  2. android test 和 instrumentation
  3. Android客户端打包方案分享
  4. Android(安卓)8.0 状态栏信号显示、信号
  5. android中网络操作使用总结(http)
  6. Android初学心得和一些资料下载
  7. Android(安卓)四大组件之Activity 基础总
  8. Android学习攻略:手把手教你循序渐进地学
  9. Android中ViewFlipper的使用
  10. 在Android平台上实现条型码扫描与识别