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. java引入Android(安卓)NinePatch技术的意义
  2. android 使用xml selector设置按钮点击效果图片
  3. 【android编程】 第六讲-Android菜单实践题
  4. Android动画学习笔记-Android(安卓)Animation
  5. Android:interpolator用法
  6. Android(安卓)带有角标的imageview,类似于qq、微信未读消息提示效
  7. 介绍一个Android开源项目:GifView——Android显示GIF动画
  8. 【Android(安卓)界面效果12】EditText中的多行输入问题
  9. Android中TextView中内容不换行的解决方法

随机推荐

  1. 理财实战之基金定投(二)
  2. Prometheus 之 Grafana介绍及安装
  3. 理财实战之基金定投(一)
  4. linux_学习之忘记密码处理办法
  5. 今日网站
  6. 理财扫盲之什么叫通货膨胀
  7. RPM打包,安装到指定目录
  8. Python 爬虫进阶必备 | 某工业超市加密 h
  9. 工具之_grep,sed,awk
  10. 手机端首页仿写