Explorar el Código

界面切换动画

詹子聪 hace 6 años
padre
commit
c26a5fa734

+ 14 - 0
app/src/main/java/com/miekir/eden/base/BaseBeiActivity.java

@@ -7,6 +7,8 @@ import androidx.annotation.Nullable;
 import androidx.appcompat.widget.Toolbar;
 
 import com.miekir.eden.R;
+import com.miekir.eden.ui.TabActivity;
+import com.miekir.eden.ui.welcome.WelcomeActivity;
 import com.miekir.mvp.view.BaseMVPActivity;
 
 /**
@@ -39,8 +41,20 @@ public abstract class BaseBeiActivity extends BaseMVPActivity {
         }
     }
 
+    @Override
+    public void finish() {
+        super.finish();
+        if (!(this instanceof WelcomeActivity) && !(this instanceof TabActivity)) {
+            overridePendingTransition(R.anim.activity_stable, R.anim.activity_left_to_right);
+        }
+    }
+
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
+        if (!(this instanceof WelcomeActivity) && !(this instanceof TabActivity)) {
+            overridePendingTransition(R.anim.activity_right_to_left, R.anim.activity_stable);
+        }
+
         super.onCreate(savedInstanceState);
         if (canSwipeBack()) {
             //SwipeBackHelper.onCreate(this);

+ 1 - 0
app/src/main/java/com/miekir/eden/ui/TabActivity.java

@@ -50,6 +50,7 @@ public class TabActivity extends BaseBeiActivity implements View.OnClickListener
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+
         // 获取版本更新
         upgradePresenter.getUpgradeInfo();
     }

+ 13 - 0
app/src/main/java/com/miekir/eden/ui/welcome/WelcomeActivity.java

@@ -44,8 +44,15 @@ public class WelcomeActivity extends BaseBeiActivity implements ILoginView, ISys
         //Log.e(WelcomeActivity.class.getName(), "ID: " + androidId);
     }
 
+    @Override
+    public void finish() {
+        super.finish();
+        //overridePendingTransition(0, 0);
+    }
+
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
+        // 不需要动画
         super.onCreate(savedInstanceState);
         if (UserInfoManager.getInstance().isLogin()) {
             presenter.submitLogin();
@@ -88,4 +95,10 @@ public class WelcomeActivity extends BaseBeiActivity implements ILoginView, ISys
     public void onSetVipResult(boolean success, String message) {
 
     }
+
+    @Override
+    public void onBackPressed() {
+        // 不需要销毁
+        //super.onBackPressed();
+    }
 }

+ 10 - 0
app/src/main/res/anim/activity_left_to_right.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shareInterpolator="false">
+    <translate
+        android:duration="200"
+        android:fromXDelta="0%"
+        android:fromYDelta="0%"
+        android:toXDelta="100%"
+        android:toYDelta="0%" />
+</set>

+ 10 - 0
app/src/main/res/anim/activity_right_to_left.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shareInterpolator="false">
+    <translate
+        android:duration="200"
+        android:fromXDelta="100%"
+        android:fromYDelta="0%"
+        android:toXDelta="0%"
+        android:toYDelta="0%" />
+</set>

+ 10 - 0
app/src/main/res/anim/activity_stable.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shareInterpolator="false">
+    <alpha
+        android:duration="200"
+        android:fromAlpha="1.0"
+        android:interpolator="@android:anim/accelerate_interpolator"
+        android:repeatCount="0"
+        android:toAlpha="1.0" />
+</set>

+ 5 - 0
app/src/main/res/values/styles.xml

@@ -26,6 +26,9 @@
         <!--解决全屏的时候底部content和导航栏之间有一根白线的现象-->
         <item name="android:windowContentOverlay">@null</item>
         <!--<item name="android:windowBackground">@color/colorPrimaryDark</item>-->
+
+        <!--不需要动画-->
+        <item name="android:windowAnimationStyle">@null</item>
     </style>
 
 
@@ -80,6 +83,8 @@
         <!--解决全屏的时候底部content和导航栏之间有一根白线的现象-->
         <item name="android:windowContentOverlay">@null</item>
         <item name="android:windowBackground">@color/colorPrimaryDark</item>
+
+        <item name="android:windowAnimationStyle">@null</item>
     </style>
 
     <style name="AppTheme.MeizhiDetail" parent="Theme.AppCompat.Light.NoActionBar">