瀏覽代碼

[카테고리메인][Common] 필터구성 및 이벤트 추가

Hasemi 7 年之前
父節點
當前提交
5d9b295064

+ 23 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/CustomSquareArrowCheckBox.java

@@ -2,9 +2,11 @@ package kr.co.zumo.app.lifeplus.view.custom;
 
 import android.content.Context;
 import android.content.res.TypedArray;
+import android.support.annotation.Nullable;
 import android.support.annotation.StringRes;
 import android.support.constraint.ConstraintLayout;
 import android.util.AttributeSet;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.widget.CheckBox;
 
@@ -22,7 +24,9 @@ import kr.co.zumo.app.R;
  */
 public class CustomSquareArrowCheckBox extends ConstraintLayout {
 
+  private ConstraintLayout constraintLayout;
   private CheckBox checkBox;
+  private OnClickListener listener;
 
   public CustomSquareArrowCheckBox(Context context) {
     super(context);
@@ -41,10 +45,17 @@ public class CustomSquareArrowCheckBox extends ConstraintLayout {
     getAttrs(attrs, defStyleAttr);
   }
 
-  public void init(Context context) {
+  private void init(Context context) {
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     inflater.inflate(R.layout.custom_square_arrow_check_box, this);
     checkBox = findViewById(R.id.check_box);
+    checkBox.setOnClickListener(view -> {
+      if (null != listener) {
+        listener.onClick(this);
+      }
+    });
+
+    constraintLayout = findViewById(R.id.constraint_layout);
   }
 
   @Override
@@ -72,4 +83,15 @@ public class CustomSquareArrowCheckBox extends ConstraintLayout {
   public void setText(@StringRes int stringResource) {
     checkBox.setText(stringResource);
   }
+
+
+  @Override
+  public void setOnClickListener(@Nullable OnClickListener listener) {
+    this.listener = listener;
+  }
+  
+  public boolean isChecked(){
+    Log.e("APP#  CustomSquareArrowCheckBox | isChecked", "|" + isChecked());
+    return checkBox.isChecked();
+  }
 }

+ 53 - 7
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/CategoryMainFilterDialog.java

@@ -3,6 +3,8 @@ package kr.co.zumo.app.lifeplus.view.dialog;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.support.constraint.ConstraintLayout;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -11,6 +13,8 @@ import android.view.WindowManager;
 import android.widget.ImageView;
 
 import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.custom.CustomSquareArrowCheckBox;
 
 /**
  * FirstCategoryFilterDialog
@@ -23,31 +27,73 @@ import kr.co.zumo.app.R;
  * @since 2018-11-01
  */
 
-public class FirstCategoryFilterDialog extends DialogBase {
+public class CategoryMainFilterDialog extends DialogBase {
 
   private ImageView imageViewCancel;
+  private ConstraintLayout layoutFilterMain;
+  private ConstraintLayout layoutFilterDetail;
+  private CustomSquareArrowCheckBox checkForeign;
+
+
 
   @Nullable
   @Override
   public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-    return inflater.inflate(R.layout.dialog_first_category_detail_filter, container, false);
+    return inflater.inflate(R.layout.dialog_category_main, container, false);
   }
 
   @Override
   public void onActivityCreated(Bundle savedInstanceState) {
     super.onActivityCreated(savedInstanceState);
-    //CustomSquareRadio customSquareRadio = view.findViewById(R.id.first);
-
     //Full Screen dialog
     Window window = getDialog().getWindow();
-    window.setLayout(WindowManager.LayoutParams.MATCH_PARENT , WindowManager.LayoutParams.MATCH_PARENT);
-    imageViewCancel = getView().findViewById(R.id.image_view_cancel);
+    window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
+
+    checkForeign = getView().findViewById(R.id.check_foreign);
+    layoutFilterMain = getView().findViewById(R.id.layout_filter_main);
+    layoutFilterDetail = getView().findViewById(R.id.layout_filter_detail);
+
+    imageViewCancel = getView().findViewById(R.id.image_view_cancel_main);
     imageViewCancel.setOnClickListener(view -> {
       if (null != getResultListener()) {
-        getResultListener().onDialogCanceled(this);
+        getResultListener().onDialogCanceled(CategoryMainFilterDialog.this);
+      }
+    });
+
+    checkForeign.setOnClickListener(view -> {
+          doPageSwitch();
+    });
+
+    getView().findViewById(R.id.text_view_contents_show_main).setOnClickListener(view -> {
+      if (null != getResultListener()) {
+        getResultListener().onDialogResult(CategoryMainFilterDialog.this, new Event.Builder(Event.CLOSE).build());
+      }
+    });
+
+    //콘텐츠 필터 상세화면 진입시 버튼 이벤트
+
+    getView().findViewById(R.id.image_view_cancel).setOnClickListener(view -> {
+      if (null != getResultListener()) {
+        getResultListener().onDialogCanceled(CategoryMainFilterDialog.this);
+      }
+    });
+
+    getView().findViewById(R.id.image_view_back).setOnClickListener(view -> {
+      doPageSwitch();
+    });
+
+    getView().findViewById(R.id.text_view_confirm).setOnClickListener(view -> {
+      if (null != getResultListener()) {
+        getResultListener().onDialogResult(CategoryMainFilterDialog.this, new Event.Builder(Event.CLOSE).build());
       }
     });
+  }
+
 
+  private void doPageSwitch() {
+    Log.e("APP#  CategoryMainFilterDialog | doPageSwitch", "|" + "들어옴");
+     layoutFilterMain.setVisibility(layoutFilterMain.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
+     layoutFilterDetail.setVisibility(layoutFilterDetail.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
 
   }
 

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/DialogID.java

@@ -28,10 +28,10 @@ public class DialogID {
   public static final int PROMOTION = 6;
   public static final int SHARE = 7;
   public static final int COIN_INFORMATION = 8;
-  public static final int FIRST_FILTER = 9;
+  public static final int MAIN_FILTER = 9;
 
   @Retention(RetentionPolicy.SOURCE)
-  @IntDef({NONE, CONFIRM, PIN_CONFIRM, WEB, ADD_REGISTRATION, ALERT, PROMOTION, SHARE, COIN_INFORMATION, FIRST_FILTER})
+  @IntDef({NONE, CONFIRM, PIN_CONFIRM, WEB, ADD_REGISTRATION, ALERT, PROMOTION, SHARE, COIN_INFORMATION, MAIN_FILTER})
   public @interface ID {}
 
 }

+ 3 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/factory/BasicDialogFactory.java

@@ -10,7 +10,7 @@ import kr.co.zumo.app.lifeplus.view.dialog.CurrentPageShareDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.CustomAlertDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogBase;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
-import kr.co.zumo.app.lifeplus.view.dialog.FirstCategoryFilterDialog;
+import kr.co.zumo.app.lifeplus.view.dialog.CategoryMainFilterDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PinConfirmDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.PromotionDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.WebDialog;
@@ -55,8 +55,8 @@ public class BasicDialogFactory implements IDialogFactory {
       case DialogID.PIN_CONFIRM:
         dialog = new PinConfirmDialog();
         break;
-      case DialogID.FIRST_FILTER:
-        dialog = new FirstCategoryFilterDialog();
+      case DialogID.MAIN_FILTER:
+        dialog = new CategoryMainFilterDialog();
         break;
       default:
         throw new Error("Unsupported dialog.");

+ 0 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/category/FirstCategoryMainPresenter.java

@@ -74,8 +74,6 @@ public class FirstCategoryMainPresenter extends Presenter<BlankModel, IView> {
             @Override
             public void onDialogResult(DialogBase dialog, Event event) {
               switch (event.getEventId()) {
-                case Event.DETAIL:
-                  break;
                 case Event.CLOSE:
                   dialog.dispose();
                   break;

+ 1 - 0
app/src/main/res/layout/custom_square_arrow_check_box.xml

@@ -3,6 +3,7 @@
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
+  android:id="@+id/constraint_layout"
   android:layout_width="wrap_content"
   android:layout_height="30dp">
 

+ 12 - 9
app/src/main/res/layout/dialog_category_main.xml

@@ -11,7 +11,7 @@
     android:id="@+id/layout_filter_main"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:visibility="visible">
+    tools:visibility="gone">
 
     <android.support.constraint.ConstraintLayout
       android:id="@+id/layout_header_main"
@@ -132,13 +132,15 @@
         app:ArrowCheckBoxText="@string/first_filter_case_2_contents_1"/>
 
       <kr.co.zumo.app.lifeplus.view.custom.CustomSquareArrowCheckBox
-        android:id="@+id/second2"
+        android:id="@+id/check_foreign"
+        android:clickable="true"
+        android:focusable="true"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginTop="8dp"
-        app:layout_constraintStart_toEndOf="@+id/second"
         android:layout_marginStart="7dp"
-        app:ArrowCheckBoxText="@string/first_filter_case_2_contents_6"/>
+        android:layout_marginTop="8dp"
+        app:ArrowCheckBoxText="@string/first_filter_case_2_contents_6"
+        app:layout_constraintStart_toEndOf="@+id/second"/>
 
 
     </android.support.constraint.ConstraintLayout>
@@ -345,11 +347,11 @@
   <!--========================필터 디테일 진입시 화면=====================================-->
 
   <android.support.constraint.ConstraintLayout
-    android:id="@+id/filter_layout_detail"
+    android:id="@+id/layout_filter_detail"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:visibility="gone"
     android:visibility="gone"
+    tools:visibility="visible"
     >
 
     <android.support.constraint.ConstraintLayout
@@ -358,6 +360,7 @@
       android:layout_height="wrap_content">
 
       <ImageView
+        android:id="@+id/image_view_back"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginStart="16dp"
@@ -611,13 +614,13 @@
         android:layout_marginBottom="8dp"
         android:background="@color/C66FFFFFF"
         app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@+id/text_view_contents_show"
+        app:layout_constraintEnd_toStartOf="@+id/text_view_confirm"
         app:layout_constraintHorizontal_bias="0.5"
         app:layout_constraintStart_toEndOf="@+id/text_view_reset"
         app:layout_constraintTop_toTopOf="parent"/>
 
       <TextView
-        android:id="@+id/text_view_contents_show"
+        android:id="@+id/text_view_confirm"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:gravity="center_horizontal"

+ 1 - 0
app/src/main/res/layout/fragment_category_main_second.xml

@@ -55,4 +55,5 @@
     app:layout_constraintRight_toRightOf="parent"
     app:layout_constraintTop_toBottomOf="@id/relativeLayout"
     />
+
 </android.support.constraint.ConstraintLayout>