安卓activity切换动画

方式一:overridePendingTransition (int enterAnim, int exitAnim)

从Android2.0开始在Activity增加了一个方法overridePendingTransition (int enterAnim, int exitAnim)其中:enterAnim 定义Activity进入屏幕时的动画,exitAnim 定义Activity退出屏幕时的动画.

在res/anim/建2个xml文件,一个用来表示activity进入时的动画,还有一个表示activity退出时的动画.注意overridePendingTransition方法的调用时机必须放在startActivity()和finish()方法之后.

示例1.向右滑动切换效果

1.1 从第二个activity从右侧进入动画right_in.xml

<?xml version = "1.0" encoding = "utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000">
    <translate android:fromXDelta="100%p" android:toXDelta="0%p"
        android:interpolator="@android:anim/accelerate_interpolator"/>
</set>
1.2 第一个activity从屏幕中间向左退出时动画.left_out.xml
<?xml version = "1.0" encoding = "utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000">
    <translate android:fromXDelta="0%p" android:toXDelta="-100%p"
        android:interpolator="@android:anim/accelerate_interpolator"/>
</set>

1.3java代码使用

overridePendingTransition(R.anim.right_in,R.anim.left_out)


方式二:在主题中修改activity切换动画

在清单文件中配置theme属性,自定义一个样式就可以了

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

res/values/styles.xml定义一个样式继承Animation.Activity,然后分别定义4个item,item四个属性的意思大概是这样的,假设有2个activity,分别叫做A,B.A页面启动B页面时,A会在页面消失,B会在页面呈现,这时候A会执行android:activityOpenExitAnimation动画效果

而B会执行android:activityOpenEnterAnimation.这是打开新页面的操作.如果从B页面开始返回到A页面,这时候B页面会消失在屏幕上,而A页面会重新进入到页面上去,这时候对于B来说执行的是退出操作,所以会走android:activityCloseExitAnimation这个动画,对于A来说是从原来的关闭状态重新进入屏幕,所以走的是android:activityCloseEnterAnimation动画效果

   <style name="AnimationActivity" mce_bogus="1" parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@anim/push_left_in</item>
        <item name="android:activityOpenExitAnimation">@anim/push_left_out</item>
        <item name="android:activityCloseEnterAnimation">@anim/push_right_in</item>
        <item name="android:activityCloseExitAnimation">@anim/push_right_out</item>
    </style>

          定义完以上样式后,请在res/anim/目录下分别定义4个动画切换的文件.这里可以根据自己的喜好进行自定义.定义完成之后,在AndroidMenifest.xml清单文件修改原来的主题样式.修改

 android:theme="@style/AnimationActivity"












  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值