zoukankan      html  css  js  c++  java
  • Android 之Activity切换动画效果

      在Activity中Android提供了overridePendingTransition(int enterAnim,int exitAnim)这个方法用于设置Activity之间切换的动画效果。overridePendingTransition方法要放到startActivity()或finish()(如果存在finish则要放到finish后面)后面。

    enterAnim 定义Activity进入屏幕时的动画

    exitAnim 定义Activity退出屏幕时的动画

    系统中也提供了几种动画效果例如:

    android.R.anim.slide_in_left  从左边滑入

    android.R.anim.slide_out_right  从右边滑出

    android.R.anim.fade_in  淡入

    android.R.anim.fade_out  淡出

    在这里我们可以自定义动画效果:

    首先在res文件夹下面新建一个anim文件

    (1)in_from_left.xml  从左边滑入

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        
        <translate 
            android:fromXDelta="-100%"
            android:toXDelta="0%"
            android:duration="500"/>
        
    </set>

    (2)in_from_right.xml  从右边滑入

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        
        <translate 
            android:fromXDelta="100%p"
            android:toXDelta="0%p"
            android:duration="500"/>
    
    </set>

    (3)out_to_left.xml  从左边滑出

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        
        <translate 
            android:fromXDelta="0%p"
            android:toXDelta="-100%p"
            android:duration="500"/>
    </set>

    (4)out_to_right.xml  从右边滑出

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        
        <translate 
            android:fromXDelta="0%p"
            android:toXDelta="100%p"
            android:duration="500"/>
        
    </set>

    使用方法:

    从右边进入,左边离开

    private OnClickListener btnListener = new OnClickListener(){
            public void onClick(View view){
                Intent intent = new Intent(MainActivity.this,OtherActivity.class);
                startActivity(intent);
                overridePendingTransition(R.anim.in_from_right,R.anim.out_to_left);
            }
        };

    从左边进入,右边离开

    private OnClickListener btnListener = new OnClickListener(){
            public void onClick(View view){
                Intent intent = new Intent(OtherActivity.this,MainActivity.class);
                startActivity(intent);
                finish();
                overridePendingTransition(R.anim.in_from_left,R.anim.out_to_right);
            }
        };
  • 相关阅读:
    【数据挖掘导论】——绪论
    Debian Customer PPA RFC (by quqi99)
    uva 11248 Frequency Hopping (最大流)
    非常easy的JAVA反射教程
    【Spark】RDD操作具体解释4——Action算子
    NHibernate剖析:Mapping篇之Mapping-By-Code(1):概览
    eclipse中文凝视字体太小解决方法
    cocos2d-x-3.x bringToFront &amp; sendToBack实现
    POJ 1018 Communication System 题解
    监听器和 利 用观察者设计模式设计一个程序
  • 原文地址:https://www.cnblogs.com/yshyee/p/3480921.html
Copyright © 2011-2022 走看看