Browse Source

Button scroll removed for payout mode in send money

master
preyearegmi 6 years ago
parent
commit
7ed266d24c
  1. 104
      app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java
  2. 6
      app/src/main/res/layout/fragment_payout_mode_send_money_v2.xml

104
app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java

@ -14,7 +14,9 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.Interpolator;
import android.view.animation.Transformation;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
@ -60,6 +62,9 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon
@BindView(R.id.accountWrapper)
View accountViewContainer;
@BindView(R.id.bankDetailContainer)
View bankDetailContainer;
@BindView(R.id.payoutModeContinueButton)
Button paymentButtonContinue;
@ -165,27 +170,116 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon
@Override
public void onPayoutModeSelected(PayoutMode selectedPayoutMode) {
this.selectedPayoutMode = selectedPayoutMode;
showBankSelectView(this.selectedPayoutMode.getBankrequired().equalsIgnoreCase(Constants.TRUE_STRING));
clearBankData();
clearBranchData();
clearAccounData();
showBankSelectView(this.selectedPayoutMode.getBankrequired().equalsIgnoreCase(Constants.TRUE_STRING));
}
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()
{
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
v.getLayoutParams().height = interpolatedTime == 1
? ViewGroup.LayoutParams.WRAP_CONTENT
: (int)(targetHeight * interpolatedTime);
v.requestLayout();
}
@Override
public boolean willChangeBounds() {
return true;
}
};
a.setDuration((int)(targetHeight / v.getContext().getResources().getDisplayMetrics().density));
a.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
if(onAnimationEndTask!=null)
onAnimationEndTask.run();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
v.startAnimation(a);
}
public static void collapse(final View v,Runnable onAnimationEndTask) {
final int initialHeight = v.getMeasuredHeight();
Animation a = new Animation()
{
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
if(interpolatedTime == 1){
v.setVisibility(View.GONE);
}else{
v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime);
v.requestLayout();
}
}
@Override
public boolean willChangeBounds() {
return true;
}
};
a.setDuration((int)(initialHeight / v.getContext().getResources().getDisplayMetrics().density));
a.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
if(onAnimationEndTask!=null)
onAnimationEndTask.run();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
v.startAnimation(a);
}
private void showBankSelectView(boolean action) {
branchListContainer.setVisibility(View.GONE);
accountViewContainer.setVisibility(View.GONE);
if (action) {
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
@ -194,6 +288,10 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon
bankListContainer.setVisibility(View.INVISIBLE);
bankListContainer.setTranslationY(bankListContainer.getHeight());
ViewCompat.animate(bankListContainer).setListener(null);
if(bankDetailContainer.getVisibility()==View.VISIBLE)
collapse(bankDetailContainer,()->bankDetailContainer.setVisibility(View.GONE));
}
});

6
app/src/main/res/layout/fragment_payout_mode_send_money_v2.xml

@ -45,8 +45,8 @@
<LinearLayout
android:padding="10dp"
android:minHeight="220dp"
android:orientation="vertical"
android:visibility="gone"
android:id="@+id/bankDetailContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content">
@ -152,10 +152,10 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton
android:id="@+id/payoutModeContinueButton"
android:layout_marginTop="20dp"
android:layout_marginTop="10dp"
android:layout_width="200dp"
android:layout_height="50dp"
android:layout_marginBottom="20dp"
android:layout_marginBottom="15dp"
android:layout_gravity="center"
android:background="@drawable/ic_rounded_background_coloured"
android:text="Continue"

Loading…
Cancel
Save