转场动画

屏幕左边代表-100%p,右边代表100%p
在res文件夹下新建anim文件,在anim文件夹下书写动画

<!--anim_left_in-->
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="-100%p"
    android:toXDelta="0"
    android:fromYDelta="0"
    android:toYDelta="0">

</translate>


<!--anim_left_out-->
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="0"
    android:toXDelta="-100%p"
    android:fromYDelta="0"
    android:toYDelta="0">
</translate>



<!--anim_right_in-->
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="100%p"
    android:toXDelta="0"
    android:fromYDelta="0"
    android:toYDelta="0">
</translate>



<!--anim_right_out-->
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="0"
    android:toXDelta="100%p"
    android:fromYDelta="0"
    android:toYDelta="0">

</translate>

在startActivity后使用overridePendingTransition()函数,第一个参数代表打开activity时进来的activity的动画,第二个参数代表当前activity离开时的动画

//第一个activity
startActivity(new Intent(getActivity(), SettingActivity.class));
                getActivity().overridePendingTransition(R.anim.anim_right_in,R.anim.anim_left_out);



//第二个activity
 finish();
                overridePendingTransition(R.anim.anim_left_in,R.anim.anim_right_out);

也可以不使用代码方式,使用配置样式文件

<style name="anim_apptheme" parent="@android:style/Animation.Activity">
        <!--activityA进入ActivityBandroid:activityOpenEnterAnimation代表打开B时进入者(B)的动画,android:activityOpenExitAnimation代表
        进入BA离开的动画,name="android:activityCloseExitAnimation代表由B返回A(关闭B)时离开者(B)的动画,android:activityCloseEnterAnimation
        代表由B返回A(关闭B)时进入者(A的动画)-->
        <item name="android:activityCloseExitAnimation">@anim/anim_right_out</item>
        <item name="android:activityOpenEnterAnimation">@anim/anim_left_in</item>
        <item name="android:activityCloseEnterAnimation">@anim/anim_right_in</item>
        <item name="android:activityOpenExitAnimation">@anim/anim_left_out</item>
    </style>
    <!--<item name="android:windowEnableSplitTouch">false</item>
        <item name="android:splitMotionEvents">false</item>禁用多点触摸-->
    <style name="NormalTheme" parent="android:Theme.Holo.Light.NoActionBar">
        <item name="android:windowAnimationStyle">@style/anim_apptheme</item>
        <item name="android:windowEnableSplitTouch">false</item>
        <item name="android:splitMotionEvents">false</item>
    </style>

然后在想使用动画的activity中的theme声明此样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值