本文详情来源:http://blog.csdn.net/h3c4lenovo/article/details/11526195 转载请注明出处

在Android中,两个activiyt的切换总是自左向右抽动的效果

在Activity中提供了overridePendingTransition函数,用在startActivity(Intent) 或 finish之后,


overridePendingTransition有两个参数,都是int类型的,意味着这里要传入一个资源,

在sdk中是这样定义的、


enterAnim A resource ID of the animation resource to use for the incoming activity. Use 0 for no animation.
exitAnim A resource ID of the animation resource to use for the outgoing activity. Use 0 for no animation.


一个是进入的动画,一个是退出的动画,如果连个值都设置成0,则表示不添加动画

即:overridePendingTransition(0, 0);

例如 在startActivity开启一个intent之后,添加如下代码

overridePendingTransition(Android.R.anim.fade_in, android.R.anim.fade_out);
这样在启动下一个窗口的时候出现淡入淡出的效果


//实现从左向右滑动效果
overridePendingTransition(Android.R.anim.slide_in_left,
Android.R.anim.slide_out_right);

另外,还可以通过在资源文件夹中anim中添加自定义的配置文件,来实现自定义过度动画

例如在程序中添加这样的 效果来实现和iphone一样的效果

overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
自定义的zoomin.xml文件,该文件设置了新的activity进入时的效果

<?xml version="1.0" encoding="utf-8"?>   <set       xmlns:Android="http://schemas.android.com/apk/res/android"      Android:interpolator="@android:anim/decelerate_interpolator">       <scale           Android:fromXScale="2.0"        android:toXScale="1.0"           Android:fromYScale="2.0"        android:toYScale="1.0"           Android:pivotX="50%p"       android:pivotY="50%p"           Android:duration="@android:integer/config_mediumAnimTime" />   </set> 


自定义的zoomout.xml文件,该文件设置了原来的activity退出是的效果

<?xml version="1.0" encoding="utf-8"?>   <set       xmlns:Android="http://schemas.android.com/apk/res/android"      Android:interpolator="@android:anim/decelerate_interpolator"       Android:zAdjustment="top">       <scale           Android:fromXScale="2.0"        android:toXScale="0.5"           Android:fromYScale="2.0"        android:toYScale="0.5"           Android:pivotX="50%p"       android:pivotY="50%p"           Android:duration="@android:integer/config_mediumAnimTime" />       <alpha           Android:fromAlpha="1.0"           Android:toAlpha="0"           Android:duration="@android:integer/config_mediumAnimTime" />   </set>  

最后在友情提示一下给没有仔细看的同学,此方法会在startActivity和finish之后立即调用。

意思是说,你要在A start B的时候调用一次,还要在B finish的时候调用一次,才有连贯的动画!记得有两次喔!


更多相关文章

  1. android获取各路径下的文件流
  2. android studio中xml文件代码提示问题
  3. Android下的应用编程——用HTTP协议实现文件上传功能
  4. Android Studio动态自定义编译输出的apk文件名
  5. Android 解压APK文件
  6. Android 文件的保存和读取
  7. Android 单击图片切换效果
  8. Android点击水波纹效果
  9. Android 动画学习笔记

随机推荐

  1. Android中bool的使用
  2. Volley详解(一)——基本构架
  3. Android(安卓)Monkeyrunner Test
  4. 【Android】Fragment
  5. android 加载图片方式
  6. Android源码解析之(三)Android异步任务Asyn
  7. 安卓ScrollView嵌套RecyclerView,GridView
  8. Android(安卓)如何使用使用数据库
  9. Android通过putExtra()传递JavaBean对象,
  10. Android(安卓)定时重复启动弹出窗口。