Browse Source

[공통][New] 홈 액티비티 전환 에니메이션 추가

hyodong.min 7 years ago
parent
commit
213fea163d

+ 8 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ActivityBase.java

@@ -46,11 +46,12 @@ public abstract class ActivityBase extends AppCompatActivity {
   private final String SLIDE_TYPE = "slide_type";
 
   public static final int SLIDE_TYPE_ACTIVITY = 0;
-  public static final int SLIDE_TYPE_DIALOG = 1;
+  public static final int SLIDE_TYPE_HOME = 1;
+  public static final int SLIDE_TYPE_DIALOG = 2;
 
   @Retention(RetentionPolicy.SOURCE)
   @IntDef({
-    SLIDE_TYPE_ACTIVITY, SLIDE_TYPE_DIALOG
+    SLIDE_TYPE_ACTIVITY, SLIDE_TYPE_DIALOG, SLIDE_TYPE_HOME
   })
   public @interface SlideType {}
 
@@ -189,6 +190,9 @@ public abstract class ActivityBase extends AppCompatActivity {
     intent.putExtra(SLIDE_TYPE, type);
     super.startActivity(intent);
     switch (type) {
+      case SLIDE_TYPE_HOME:
+        overridePendingTransition(R.anim.activity_scale_in, R.anim.activity_scale_out);
+        break;
       case SLIDE_TYPE_DIALOG:
         overridePendingTransition(R.anim.activity_transition_slide_up, R.anim.none);
         break;
@@ -210,6 +214,8 @@ public abstract class ActivityBase extends AppCompatActivity {
     super.finish();
 
     switch (slideType) {
+      case SLIDE_TYPE_HOME:
+        break;
       case SLIDE_TYPE_DIALOG:
         overridePendingTransition(R.anim.none, R.anim.activity_slide_down);
         break;

+ 3 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/command/HomeCommand.java

@@ -3,9 +3,9 @@
  */
 package kr.co.zumo.app.lifeplus.view.command;
 
-import android.app.Activity;
 import android.content.Intent;
 
+import kr.co.zumo.app.lifeplus.activity.ActivityBase;
 import kr.co.zumo.app.lifeplus.activity.MainActivity;
 import kr.co.zumo.app.lifeplus.model.Model;
 import kr.co.zumo.app.lifeplus.view.IView;
@@ -29,11 +29,11 @@ public class HomeCommand extends Command<Model, IView, Presenter> {
 
   @Override
   public void execute(Model model, IView view, Presenter presenter) {
-    Activity activity = view.getActivity();
+    ActivityBase activity = (ActivityBase) view.getActivity();
     Intent intent = new Intent(activity, MainActivity.class);
 //    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
     activity.finishAffinity();
-    activity.startActivity(intent);
+    activity.startActivity(intent, ActivityBase.SLIDE_TYPE_HOME);
 
   }
 

+ 25 - 0
app/src/main/res/anim/activity_scale_in.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+  <scale
+    android:duration="300"
+    android:fromXScale="90%"
+    android:fromYScale="90%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    android:pivotX="50%p"
+    android:pivotY="50%p"
+    android:toXScale="100%"
+    android:toYScale="100%"
+    />
+
+  <alpha
+    android:duration="250"
+    android:fromAlpha="0.4"
+    android:toAlpha="1.0"/>
+
+  <translate
+    android:duration="300"
+    android:fromYDelta="20%"
+    android:interpolator="@android:anim/decelerate_interpolator"
+    android:toYDelta="0%">
+  </translate>
+</set>

+ 19 - 0
app/src/main/res/anim/activity_scale_out.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+  <scale
+    android:duration="300"
+    android:fromXScale="100%"
+    android:fromYScale="100%"
+    android:interpolator="@android:anim/accelerate_interpolator"
+    android:pivotX="50%p"
+    android:pivotY="50%p"
+    android:toXScale="90%"
+    android:toYScale="90%"
+    />
+
+  <alpha
+    android:duration="250"
+    android:fromAlpha="1.0"
+    android:toAlpha="0.7"/>
+
+</set>

+ 1 - 1
app/src/main/res/anim/activity_slide_down.xml

@@ -3,7 +3,7 @@
   <translate
     android:duration="300"
     android:fromYDelta="0%p"
-    android:interpolator="@android:anim/accelerate_interpolator"
+    android:interpolator="@android:anim/decelerate_interpolator"
     android:toYDelta="100%p"/>
 
   <alpha

+ 1 - 1
app/src/main/res/anim/activity_slide_in_enter.xml

@@ -2,7 +2,7 @@
 <set
   xmlns:android="http://schemas.android.com/apk/res/android">
   <translate
-    android:duration="300"
+    android:duration="250"
     android:fromXDelta="100.0%"
     android:interpolator="@android:anim/decelerate_interpolator"
     android:toXDelta="0.0"/>

+ 1 - 1
app/src/main/res/anim/activity_slide_out_back_exit.xml

@@ -2,7 +2,7 @@
 <set
   xmlns:android="http://schemas.android.com/apk/res/android">
   <translate
-    android:duration="300"
+    android:duration="250"
     android:fromXDelta="0.0"
     android:interpolator="@android:anim/decelerate_interpolator"
     android:toXDelta="100.0%p"/>

+ 3 - 3
app/src/main/res/anim/none.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <set>
   <translate xmlns:android="http://schemas.android.com/apk/res/android"
-             android:duration="300"
-             android:fromYDelta="0%p"
-             android:toYDelta="0%p"/>
+             android:duration="0"
+             android:fromYDelta="0"
+             android:toYDelta="0"/>
 </set>

+ 1 - 1
app/src/main/res/anim/slide_up.xml

@@ -4,6 +4,6 @@
     android:duration="@android:integer/config_mediumAnimTime"
     android:fromYDelta="100%"
     android:interpolator="@android:anim/accelerate_interpolator"
-    android:toXDelta="0">
+    android:toYDelta="0">
   </translate>
 </set>