|
|
@@ -3,9 +3,11 @@ package kr.co.zumo.app.lifeplus.view.fragment.signup;
|
|
|
import android.support.annotation.NonNull;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.util.Log;
|
|
|
+import android.view.Gravity;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
+import android.widget.LinearLayout;
|
|
|
|
|
|
import kr.co.zumo.app.R;
|
|
|
import kr.co.zumo.app.lifeplus.view.model.SignUpItem;
|
|
|
@@ -29,51 +31,86 @@ public class SignUpAdapter extends RecyclerView.Adapter<BaseViewHolder> {
|
|
|
this.signUpViewModel = signUpViewModel;
|
|
|
}
|
|
|
|
|
|
+ // fixme 클래스로 변환 필요
|
|
|
+ private View getAlignedView(ViewGroup parent, View view, int alignType) {
|
|
|
+
|
|
|
+ LinearLayout layout = new LinearLayout(parent.getContext());
|
|
|
+ LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
|
|
+ layout.setLayoutParams(param);
|
|
|
+ layout.setOrientation(LinearLayout.HORIZONTAL);
|
|
|
+ if(alignType == SignUpItem.ALIGN_START) {
|
|
|
+ layout.setGravity(Gravity.START);
|
|
|
+ }
|
|
|
+ else if(alignType == SignUpItem.ALIGN_END) {
|
|
|
+ layout.setGravity(Gravity.END);
|
|
|
+ }
|
|
|
+ else if(alignType == SignUpItem.ALIGN_CENTER) {
|
|
|
+ layout.setGravity(Gravity.CENTER);
|
|
|
+ }
|
|
|
+
|
|
|
+ layout.addView(view);
|
|
|
+
|
|
|
+ return layout;
|
|
|
+ }
|
|
|
+
|
|
|
@NonNull
|
|
|
@Override
|
|
|
public BaseViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
|
|
BaseViewHolder holder = null;
|
|
|
+ int index = signUpViewModel.getCurrentIndex();
|
|
|
+ SignUpItem item = signUpViewModel.getItem(index);
|
|
|
+ int alignType = item.getAlignType();
|
|
|
View view;
|
|
|
Log.i("APP# SignUpAdapter | onCreateViewHolder", "| viewType: " + viewType);
|
|
|
switch (viewType) {
|
|
|
case SignUpItem.SIGN_UP_TEXT:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_text_view, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new TextViewHolder(view);
|
|
|
break;
|
|
|
case SignUpItem.SIGN_UP_BENEFIT:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_benefit_list, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new BenefitHolder(view);
|
|
|
break;
|
|
|
case SignUpItem.SIGN_UP_BUTTON:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_text_view, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new SignUpButtonHolder(view);
|
|
|
break;
|
|
|
case SignUpItem.SIGN_UP_TWO_BUTTON:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_text_view, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new SignUpTwoButtonHolder(view);
|
|
|
break;
|
|
|
case SignUpItem.SIGN_UP_COIN:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_text_view, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new SignUpCoinHolder(view);
|
|
|
break;
|
|
|
case SignUpItem.SIGN_UP_NOTICE:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_text_view, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new SignUpNoticeHolder(view);
|
|
|
break;
|
|
|
case SignUpItem.SIGN_UP_TERMS:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_text_view, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new SignUpTermsHolder(view);
|
|
|
break;
|
|
|
case SignUpItem.SIGN_UP_TEXT_WITH_TITLE:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_text_view, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new SignUpTextWithTitleHolder(view);
|
|
|
break;
|
|
|
case SignUpItem.SIGN_UP_WAITING:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_text_view, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new SignUpWaitingHolder(view);
|
|
|
break;
|
|
|
case SignUpItem.SIGN_UP_DIVIDER:
|
|
|
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_divider, parent, false);
|
|
|
+ view = getAlignedView(parent, view, alignType);
|
|
|
holder = new SignUpDividerHolder(view);
|
|
|
break;
|
|
|
default:
|
|
|
@@ -94,6 +131,7 @@ public class SignUpAdapter extends RecyclerView.Adapter<BaseViewHolder> {
|
|
|
|
|
|
@Override
|
|
|
public int getItemViewType(int position) {
|
|
|
+ signUpViewModel.setCurrentIndex(position);
|
|
|
SignUpItem item = signUpViewModel.getItem(position);
|
|
|
return item.getItemType();
|
|
|
}
|