zoukankan      html  css  js  c++  java
  • android窗体动画:activity启动从底部向上滑动出现,关闭的时候从顶部向下滑动消失的动画实现

    在IOS系统里,我们打开app都是有启动动画的,这样子在打开一个新窗体,用户感觉有个过渡动画,体验效果很好,不会觉得很突然就冒出一个窗体,下面就实现一个android 的activity启动和关闭动画的例子。
     
    知识点:
    1、需要配置2个动画XML,一个是启动动画,一个是结束动画。
    2、启动调用动画的时机和关闭调用动画的时机。
     
    知识点1:
    需要在anim下添加两个动画文件:
    启动动画(activity_open.xml):
    [javascript] view plaincopyprint?
     
    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>  


    结束动画(activity_close.xml):
    [javascript] view plaincopyprint?
     
    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>  

    知识点2:
     
    设置启动动画:
     
    1. Intent intent = new Intent();  
    2. intent.setClassName(cxt,"com.test.mrn.android.route.RouteDemoActivity");//打开一个activity  
    3. cxt.startActivity(intent);  
    4.                     
    5. cxt.overridePendingTransition(R.anim.activity_open,0);  


    设置关闭动画:
    1. @Override  
    2. public void finish() {  
    3.     // TODO Auto-generated method stub  
    4.     super.finish();  
    5.     //关闭窗体动画显示  
    6.     this.overridePendingTransition(R.anim.bottom_end,0);  
    7. }  

    补充知识点:
    不需要状态出现时需要设置activity状态栏透明,在androidmanifest.xml里配置
       android:theme="@android:style/Theme.Translucent"
     
  • 相关阅读:
    最小生成树Prim算法
    哈夫曼树与哈夫曼编码
    二叉树的非递归遍历
    浅谈C++中指针和引用的区别
    poj2406 Power Strings
    (收藏)KMP算法的前缀next数组最通俗的解释
    HDU 1556 Color the ball
    Floyd算法
    最短路Dijkstra和Flyod
    编程中无穷大常量的设定技巧
  • 原文地址:https://www.cnblogs.com/exmyth/p/4555901.html
Copyright © 2011-2022 走看看