Android中的Activity左进右出实现

四个动画文件 放在res文件夹下面的anim文件夹里面

push_left_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="450"
        android:fromXDelta="100%p"
        android:toXDelta="0" />

    <alpha
        android:duration="450"
        android:fromAlpha="0.5"
        android:toAlpha="1.0" />

</set>

push_left_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="450"
        android:fromXDelta="0"
        android:toXDelta="-100%p" />

    <alpha
        android:duration="450"
        android:fromAlpha="1.0"
        android:toAlpha="0.5" />

</set>

push_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="450"
        android:fromXDelta="-100%p"
        android:toXDelta="0" />

    <alpha
        android:duration="450"
        android:fromAlpha="0.5"
        android:toAlpha="1.0" />

</set>

push_right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="450"
        android:fromXDelta="0"
        android:toXDelta="100%p" />

    <alpha
        android:duration="450"
        android:fromAlpha="1.0"
        android:toAlpha="0.5" />

</set>

Intent跳转之后添加代码:

// 添加这个方法可以添加跳转动画
overridePendingTransition(R.anim.push_left_in,R.anim.push_left_out);

在跳转过去的activity中 重写返回键点击效果

/**
  * 左侧进入右侧返回必须重写这个方法 当按下返回键后
  */
 @Override
 public void onBackPressed() {
     super.onBackPressed();
     //
     overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out);
 }

至此就可以实现打开activity时候从左侧进入 右侧退出的功能了

猜你喜欢

转载自blog.csdn.net/u010838785/article/details/79460832