• 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);
            }
        };
  • 相关阅读:
    课二 计算机硬件组成余下
    课一 计算机硬件组成
    电梯演讲视频
    团队成员个人介绍
    day-65Django
    day-64Django
    day-63Django
    day-62Django
    day-61Django
    day-60Django
  • 原文地址:https://www.cnblogs.com/yshyee/p/3480921.html
Copyright © 2020-2023  润新知