activity切换动画

来源:互联网 发布:精通matlab混合编程 编辑:程序博客网 时间:2024/06/05 14:19

//第一个参数是,代表 即将进来的activity的动画 第二个参数是,当前activity出去的动画

overridePendingTransition(R.anim.enter_anim,R.anim.exit_anim);

方法在startActivity()或者 finish()方法的后面。

onCreate方法里面的最上面


activity切换动画黑屏的处理

         代码:

  • 如果想实现activity由底部向上动画出现,上部到底部动画消失,需要增加两个动画xm

1、启动动画(activity_open.xml)

[java] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  3.    <translate   
  4.     android:fromYDelta="100%p"   
  5.     android:toYDelta="0"   
  6. android:duration="1500"   
  7.   />   
  8. </set>    

2、结束动画(activity_close.xml)

[java] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  3.    <translate   
  4.     android:fromYDelta="25"   
  5.     android:toYDelta="100%p"   
  6.     android:duration="1500"   
  7.    />   
  8. </set>    

3、设置启动动画:

[java] view plain copy
  1. Intent intent = new Intent();   
  2. intent.setClassName(cxt,"com.test.mrn.android.route.RouteDemoActivity");//打开一个activity   
  3. startActivity(intent);   
  4.                      
  5. overridePendingTransition(R.anim.activity_open,0);   

4、设置关闭动画:

[java] view plain copy
  1. button.setOnClickListener(new OnClickListener() {  
  2.     
  3.      @Override  
  4.      public void onClick(View v) {  
  5.        finish();  
  6.        overridePendingTransition(0, R.anim.activity_close);  
  7.      }  
  8.  });  

在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初 始化列表数据、向服务器发送请求获取数据等等。同样,使用startActivity(intent)方法从一个Activity进入到新的 Activity时,这个过程中也会出现短暂的黑屏。这个问题的存在是由Android应用框架决定的,但的确很影响用户体验。下面就动手来解决这个黑屏 问题!

          黑屏问题:

1、第一步:自定义Theme(主题)

在your_project/res/values/styles.xml中加入自定义Activity的Theme,如下所示:

[java] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <resources>   
  3.     <!-- Activity主题 -->   
  4.     <style name="activityTheme" parent="@android:style/Theme">   
  5.         <item name="android:windowIsTranslucent">true</item>   
  6.     </style>   
  7. </resources>   

其中<item name="android:windowIsTranslucent">true</item>的意思是设置目标 Activity(要启动的那个Activity)是透明的。很容易理解,两个Activity,A和B;在A中启动B,因为B是透明的,看到的背景仍是 A,这样就解决了这个短暂的黑屏问题。

2、第二步:修改Manifest,将Theme应用到目标Activity上

定义好Theme后,就该为对应的Activity绑定Theme了。这个代码主要在Manifest中实现,在Activity中加上以下属性: 

[java] view plain copy
  1. <activity android:name=".activity.PlacingOrderStep1Activity"    
  2.       android:theme="@style/activityTheme" />   






0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 生完孩子腿关节疼怎么办 手指上长了倒刺怎么办 肥肉吃多了恶心怎么办 大便粘稠怎么回事还便秘怎么办 狗狗大便次数多怎么办 宝宝拉白色稀便怎么办 5个月宝宝流鼻涕怎么办 5个月婴儿流鼻涕怎么办 五个月宝宝流鼻涕鼻塞怎么办 4个月宝宝流鼻涕怎么办 大便经常是稀的怎么办 拉黑色的稀大便怎么办 孕晚期半夜饿了怎么办 肠胃不好大便不成型怎么办 螃蟹吃多了过敏怎么办 吃螃蟹过敏很痒怎么办 吃螃蟹喝啤酒了怎么办 1个月宝宝拉肚子怎么办 被雨林蝎子蛰了怎么办 在家被蜈蚣咬了怎么办 宝宝被蝎子蜇了怎么办 仓鼠只吃面包虫怎么办 套装但是装等低怎么办 被香港人骗了钱怎么办 被红头蛇咬了怎么办 爸妈吵架闹离婚怎么办 包包用酒精擦了怎么办 灰色泰迪毛发白怎么办 手被野猫抓伤了怎么办 想去香港玩两天怎么办 受凉了一直想吐怎么办 受寒后头晕想吐怎么办 肚子受凉了想吐怎么办 想吐但吐不出来怎么办 抽烟抽的牙黄怎么办 借了大耳窿的钱怎么办 5岁左眼视力不好怎么办 老公才30性不行怎么办 老婆出轨跑了怎么办啊 海螺吃多了头晕怎么办 读书的好与不好怎么办