Activity 全局跳转动画。

  其实在网上有一种修改Manifest/Appthem的方法,但是效果不理想。

如果不要MainActivity 的进入方法,实现跳转其他Activity时加载自定义动画相对简单。

 

一.先自定义俩个动画   进出动画

  //左侧进入屏幕 activity_in_left

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

 

 //左侧退出屏幕 activity_out_left

 

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

 

//渐显 fade_in

 

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"
    android:fromAlpha="0.0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toAlpha="1.0" />

//渐隐 fade_out

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"
    android:fromAlpha="1.0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toAlpha="0.0" />

//写一个BaseActivity/BaseFragment

public void startActivityLeftRight(Class clazz) {
    startActivity(new Intent(this, clazz));
    this.overridePendingTransition(R.anim.activity_in_left, R.anim.fade_out);
}
public void startActivityLeftRight(Intent intent) {
    startActivity(intent);
    this.overridePendingTransition(R.anim.activity_in_left, R.anim.fade_out);
}

 

//如果设置全局退出动画

 

@Override
public void onBackPressedSupport() {
    overridePendingTransition(0, com.zqf.base.R.anim.activity_out_left);
    super.onBackPressedSupport();
}

调用Activty的finish()时,换作调用

onBackPressedSupport();

如果样式不统一的话,在每个Activity的对应方法重写吧,也没几行.

可以在Style 里 定义 几套 进出动画

  
    <style name="Anim_fade" parent="AppTheme">
        <item name="android:windowAnimationStyle">@style/fade</item>
    </style>
  
    <style name="fade" parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@anim/fade_in</item>
        <item name="android:activityOpenExitAnimation">@anim/fade_out</item>
        <item name="android:activityCloseEnterAnimation">@anim/fade_in</item>
        <item name="android:activityCloseExitAnimation">@anim/fade_out</item>
    </style>

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值