From 4cf3db2ee12f1c6ba021ce53822f39659070afc1 Mon Sep 17 00:00:00 2001 From: seven332 Date: Fri, 29 Jan 2016 23:22:15 +0800 Subject: [PATCH] Improve scene animation --- .../java/com/hippo/scene/StageActivity.java | 13 +++--- ..._translate_in.xml => accelerate_quart.xml} | 13 +++--- ..._translate_out.xml => accelerate_terz.xml} | 13 +++--- app/src/main/res/anim/decelerate_quart.xml | 20 +++++++++ app/src/main/res/anim/decelerate_quint.xml | 20 +++++++++ app/src/main/res/anim/scene_close_enter.xml | 30 ++++++++++++++ app/src/main/res/anim/scene_close_exit.xml | 41 +++++++++++++++++++ app/src/main/res/anim/scene_open_enter.xml | 40 ++++++++++++++++++ app/src/main/res/anim/scene_open_exit.xml | 31 ++++++++++++++ 9 files changed, 198 insertions(+), 23 deletions(-) rename app/src/main/res/anim/{fragment_translate_in.xml => accelerate_quart.xml} (74%) rename app/src/main/res/anim/{fragment_translate_out.xml => accelerate_terz.xml} (74%) create mode 100644 app/src/main/res/anim/decelerate_quart.xml create mode 100644 app/src/main/res/anim/decelerate_quint.xml create mode 100644 app/src/main/res/anim/scene_close_enter.xml create mode 100644 app/src/main/res/anim/scene_close_exit.xml create mode 100644 app/src/main/res/anim/scene_open_enter.xml create mode 100644 app/src/main/res/anim/scene_open_exit.xml diff --git a/app/src/main/java/com/hippo/scene/StageActivity.java b/app/src/main/java/com/hippo/scene/StageActivity.java index 80074deb1..d6835a050 100644 --- a/app/src/main/java/com/hippo/scene/StageActivity.java +++ b/app/src/main/java/com/hippo/scene/StageActivity.java @@ -104,13 +104,12 @@ public abstract class StageActivity extends AppCompatActivity { String newTag = Integer.toString(mIdGenerator.nextId()); FragmentTransaction transaction = fragmentManager.beginTransaction(); - if (transitionHelper != null && currentFragment != null) { - transitionHelper.onTransition(this, transaction, currentFragment, newScene); - } else { - transaction.setCustomAnimations(R.anim.fragment_translate_in, R.anim.fragment_translate_out); - } - transaction.remove(newScene); if (currentFragment != null) { + if (false && transitionHelper != null) { + transitionHelper.onTransition(this, transaction, currentFragment, newScene); + } else { + transaction.setCustomAnimations(R.anim.scene_open_enter, R.anim.scene_open_exit); + } transaction.detach(currentFragment); } transaction.add(getContainerViewId(), newScene, newTag); @@ -166,7 +165,7 @@ public abstract class StageActivity extends AppCompatActivity { } FragmentTransaction transaction = fragmentManager.beginTransaction(); - transaction.setCustomAnimations(R.anim.fragment_translate_in, R.anim.fragment_translate_out); + transaction.setCustomAnimations(R.anim.scene_close_enter, R.anim.scene_close_exit); transaction.remove(scene); if (next != null) { if (next.isDetached()) { diff --git a/app/src/main/res/anim/fragment_translate_in.xml b/app/src/main/res/anim/accelerate_quart.xml similarity index 74% rename from app/src/main/res/anim/fragment_translate_in.xml rename to app/src/main/res/anim/accelerate_quart.xml index 003ed18d8..89e3a8b4c 100644 --- a/app/src/main/res/anim/fragment_translate_in.xml +++ b/app/src/main/res/anim/accelerate_quart.xml @@ -1,6 +1,6 @@ - - - + + diff --git a/app/src/main/res/anim/fragment_translate_out.xml b/app/src/main/res/anim/accelerate_terz.xml similarity index 74% rename from app/src/main/res/anim/fragment_translate_out.xml rename to app/src/main/res/anim/accelerate_terz.xml index 63a0f7cea..1ac8e476c 100644 --- a/app/src/main/res/anim/fragment_translate_out.xml +++ b/app/src/main/res/anim/accelerate_terz.xml @@ -1,6 +1,6 @@ - - - + + diff --git a/app/src/main/res/anim/decelerate_quart.xml b/app/src/main/res/anim/decelerate_quart.xml new file mode 100644 index 000000000..e495bc3dc --- /dev/null +++ b/app/src/main/res/anim/decelerate_quart.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/anim/decelerate_quint.xml b/app/src/main/res/anim/decelerate_quint.xml new file mode 100644 index 000000000..0a975d4ba --- /dev/null +++ b/app/src/main/res/anim/decelerate_quint.xml @@ -0,0 +1,20 @@ + + + + diff --git a/app/src/main/res/anim/scene_close_enter.xml b/app/src/main/res/anim/scene_close_enter.xml new file mode 100644 index 000000000..16a51fc9c --- /dev/null +++ b/app/src/main/res/anim/scene_close_enter.xml @@ -0,0 +1,30 @@ + + + + + + + + diff --git a/app/src/main/res/anim/scene_close_exit.xml b/app/src/main/res/anim/scene_close_exit.xml new file mode 100644 index 000000000..5a9230cfe --- /dev/null +++ b/app/src/main/res/anim/scene_close_exit.xml @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/app/src/main/res/anim/scene_open_enter.xml b/app/src/main/res/anim/scene_open_enter.xml new file mode 100644 index 000000000..847f43b5f --- /dev/null +++ b/app/src/main/res/anim/scene_open_enter.xml @@ -0,0 +1,40 @@ + + + + + + + + + + diff --git a/app/src/main/res/anim/scene_open_exit.xml b/app/src/main/res/anim/scene_open_exit.xml new file mode 100644 index 000000000..dc0136110 --- /dev/null +++ b/app/src/main/res/anim/scene_open_exit.xml @@ -0,0 +1,31 @@ + + + + + + + +