欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

Android Activity动画属性简介

发布时间:2025/3/17 Android 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Android Activity动画属性简介 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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

<setxmlns: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

<setxmlns: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

<setxmlns: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

<setxmlns: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 of startActivity(Intent) or finish() 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退出时的动画。

@Overridepublic 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" />

 

 

 

 

总结

以上是生活随笔为你收集整理的Android Activity动画属性简介的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。