From 54ee87a778ba74713971f29ab92dee09494f3ea8 Mon Sep 17 00:00:00 2001 From: preyearegmi Date: Fri, 7 Sep 2018 15:55:57 +0900 Subject: [PATCH] Animation fixes --- .../PayoutModeSendMoneyFragment.java | 101 ++++++++---------- 1 file changed, 46 insertions(+), 55 deletions(-) diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java index 1ef8294e..ef6533f7 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java @@ -176,19 +176,18 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon } - public static void expand(final View v,Runnable onAnimationEndTask) { + public static void expand(final View v, Runnable onAnimationEndTask) { v.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); final int targetHeight = v.getMeasuredHeight(); v.getLayoutParams().height = 1; v.setVisibility(View.VISIBLE); - Animation a = new Animation() - { + Animation a = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { v.getLayoutParams().height = interpolatedTime == 1 ? ViewGroup.LayoutParams.WRAP_CONTENT - : (int)(targetHeight * interpolatedTime); + : (int) (targetHeight * interpolatedTime); v.requestLayout(); } @@ -198,7 +197,8 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon } }; - a.setDuration((int)(targetHeight / v.getContext().getResources().getDisplayMetrics().density)); +// a.setDuration((int) (targetHeight / v.getContext().getResources().getDisplayMetrics().density)); + a.setDuration(400); a.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { @@ -207,7 +207,7 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon @Override public void onAnimationEnd(Animation animation) { - if(onAnimationEndTask!=null) + if (onAnimationEndTask != null) onAnimationEndTask.run(); } @@ -219,17 +219,16 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon v.startAnimation(a); } - public static void collapse(final View v,Runnable onAnimationEndTask) { + public static void collapse(final View v, Runnable onAnimationEndTask) { final int initialHeight = v.getMeasuredHeight(); - Animation a = new Animation() - { + Animation a = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { - if(interpolatedTime == 1){ + if (interpolatedTime == 1) { v.setVisibility(View.GONE); - }else{ - v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime); + } else { + v.getLayoutParams().height = initialHeight - (int) (initialHeight * interpolatedTime); v.requestLayout(); } } @@ -240,7 +239,7 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon } }; - a.setDuration((int)(initialHeight / v.getContext().getResources().getDisplayMetrics().density)); + a.setDuration((int) (initialHeight / v.getContext().getResources().getDisplayMetrics().density)); a.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { @@ -249,7 +248,7 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon @Override public void onAnimationEnd(Animation animation) { - if(onAnimationEndTask!=null) + if (onAnimationEndTask != null) onAnimationEndTask.run(); } @@ -264,63 +263,56 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon /** * Orchestrates transaltion animation for corresponding view * clearData is performed according to the animation + * * @param action */ private void showBankSelectView(boolean action) { - if (action) { + if (branchListContainer.getVisibility() != View.GONE) + branchListContainer.setVisibility(View.GONE); + if (accountViewContainer.getVisibility() != View.GONE) + accountViewContainer.setVisibility(View.GONE); clearBankData(); clearBranchData(); clearAccounData(); - if(bankDetailContainer.getVisibility()==View.GONE) - expand(bankDetailContainer,()->{ - bankDetailContainer.setVisibility(View.VISIBLE); - if (bankListContainer.getVisibility() != View.VISIBLE) { - bankListContainer.setVisibility(View.INVISIBLE); - bankListContainer.setTranslationY(-bankListContainer.getHeight()); - bankListContainer.setVisibility(View.VISIBLE); - ViewCompat.animate(bankListContainer).translationY(0).setInterpolator(interpolator).setDuration(400); - } - }); + if (bankDetailContainer.getVisibility() == View.GONE) + expand(bankDetailContainer, () -> { + bankDetailContainer.setVisibility(View.VISIBLE); + if (bankListContainer.getVisibility() != View.VISIBLE) { + bankListContainer.setVisibility(View.INVISIBLE); + bankListContainer.setTranslationY(-bankListContainer.getHeight()); + bankListContainer.setVisibility(View.VISIBLE); + ViewCompat.animate(bankListContainer).translationY(0).setInterpolator(interpolator).setDuration(400); + } + }); } else { - if (bankListContainer.getVisibility() == View.VISIBLE) { - ViewCompat.animate(bankListContainer).translationY(-bankListContainer.getHeight()).setInterpolator(interpolator).setDuration(400).setListener(new ViewPropertyAnimatorListenerAdapter() { - @Override - public void onAnimationEnd(View view) { - super.onAnimationEnd(view); + if (bankDetailContainer.getVisibility() == View.VISIBLE) + collapse(bankDetailContainer, () -> { + bankDetailContainer.setVisibility(View.GONE); + if (branchListContainer.getVisibility() != View.GONE) + branchListContainer.setVisibility(View.GONE); + if (accountViewContainer.getVisibility() != View.GONE) + accountViewContainer.setVisibility(View.GONE); + if(bankListContainer.getVisibility()!=View.GONE) + bankListContainer.setVisibility(View.GONE); + + clearBankData(); + clearBranchData(); + clearAccounData(); + }); - if(bankDetailContainer.getVisibility()==View.VISIBLE) - collapse(bankDetailContainer,()->{bankDetailContainer.setVisibility(View.GONE); - clearBankData(); - clearBranchData(); - clearAccounData(); - }); - else - { - clearBankData(); - clearBranchData(); - clearAccounData(); - } - bankListContainer.setVisibility(View.INVISIBLE); - bankListContainer.setTranslationY(bankListContainer.getHeight()); - ViewCompat.animate(bankListContainer).setListener(null); - } - }); - } - else - { + } else { clearBankData(); clearBranchData(); clearAccounData(); } } - branchListContainer.setVisibility(View.GONE); - accountViewContainer.setVisibility(View.GONE); + } private void showBranchSelectView(boolean action) { @@ -380,7 +372,7 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon private void clearBranchData() { ed_branch.setText(""); - this.selectedBranch=null; + this.selectedBranch = null; } private void clearAccounData() { @@ -442,8 +434,7 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon public void onBankSelected(BankList selectedBankFromList) { if (payoutModeBankListingDialog != null) payoutModeBankListingDialog.dismiss(); - if(this.selectedBank!=null&&!selectedBankFromList.getId().equalsIgnoreCase(this.selectedBank.getId())) - { + if (this.selectedBank != null && !selectedBankFromList.getId().equalsIgnoreCase(this.selectedBank.getId())) { clearBranchData(); clearAccounData(); }