Jelajahi Sumber

[검색][New] 팝업 레이아웃 수정

hyodong.min 6 tahun lalu
induk
melakukan
8c12f11cb9

+ 0 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/helper/NavigationBar.java

@@ -70,7 +70,6 @@ public class NavigationBar {
     init();
   }
 
-
   private void init() {
     clickListenerMap = new HashMap<>();
 

+ 21 - 17
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/SearchFilterDetailDialog.java

@@ -11,6 +11,7 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Checkable;
 import android.widget.LinearLayout;
+import android.widget.Space;
 import android.widget.TextView;
 
 import java.util.ArrayList;
@@ -68,7 +69,7 @@ public class SearchFilterDetailDialog extends DialogBase<ISearchFilterListener<S
    */
   public void setFilterDetail(List<FilterTagBean> tagBeans, List<SearchFilterBean> selectedList, String title, boolean isMultiSelection, String filterType, String filterNo) {
     this.tagBeans = tagBeans;
-    if(null != selectedList) {
+    if (null != selectedList) {
       this.selectedList = new ArrayList<>(selectedList);  // 데이터를 복제해서 사용, 내부에서 배열을 변형(추가/삭제)한다. 외부로 전달은 배열 자체를 한다.
     }
     this.title = title;
@@ -173,6 +174,12 @@ public class SearchFilterDetailDialog extends DialogBase<ISearchFilterListener<S
       });
       container.addView(containerTotal);
     }
+    else {
+      // 12dp top space
+      View space = new Space(getContext());
+      LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, ResourceUtil.dpToPx(12));
+      container.addView(space, layoutParams);
+    }
 
     LinearLayout rowContainer = null;
     TagBean tagBean;
@@ -183,7 +190,8 @@ public class SearchFilterDetailDialog extends DialogBase<ISearchFilterListener<S
         rowContainer.setWeightSum(2);
         rowContainer.setOrientation(LinearLayout.HORIZONTAL);
         rowContainer.setGravity(Gravity.START);
-        rowContainer.setPadding(ResourceUtil.dpToPx(25), ResourceUtil.dpToPx(3), ResourceUtil.dpToPx(25), ResourceUtil.dpToPx(3));
+        // 좌우 실제 마진은 25dp 이지만 체크박스가 좌우 3dp씩 패딩을 사용하기 때문에 22dp로 적용한다.
+        rowContainer.setPadding(ResourceUtil.dpToPx(22), ResourceUtil.dpToPx(3), ResourceUtil.dpToPx(22), ResourceUtil.dpToPx(3));
         LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
         container.addView(rowContainer, layoutParams);
       }
@@ -205,18 +213,19 @@ public class SearchFilterDetailDialog extends DialogBase<ISearchFilterListener<S
 
       if (isMultiSelection) {
         checkBoxAllDriver.addChildBox(checkBox);
+        final CheckBoxAllDriver checkBoxAllDriverFinal = checkBoxAllDriver;
+        checkBox.setOnClickListener(v -> {
+          checkBoxAllDriverFinal.check();
+          setSelectedList((Checkable) v);
+        });
+
+        // 전체 선택 확인
+        checkBoxAllDriver.check();
+
       }
       else {
         selector.addChildBox(checkBox);
-      }
-
-      final CheckBoxAllDriver checkBoxAllDriverFinal = checkBoxAllDriver;
-      checkBox.setOnClickListener(v -> {
-        if (isMultiSelection) {
-          checkBoxAllDriverFinal.check();
-          setSelectedList((Checkable) v);
-        }
-        else {
+        checkBox.setOnClickListener(v -> {
           if (selector.contains((Checkable) v)) {
             // 셀렉터에 포함되있으면 셀렉터에서 처리
             selector.check((Checkable) v);
@@ -224,12 +233,7 @@ public class SearchFilterDetailDialog extends DialogBase<ISearchFilterListener<S
           else {
             setSelectedList((Checkable) v);
           }
-        }
-      });
-
-      // 전체 선택 확인
-      if (isMultiSelection) {
-        checkBoxAllDriverFinal.check();
+        });
       }
 
       // 선택 표시

+ 4 - 4
app/src/main/res/layout/action_bar.xml

@@ -86,8 +86,8 @@
       android:layout_marginStart="50dp"
       android:gravity="center"
       android:maxLines="1"
-      android:paddingTop="5dp"
-      android:paddingBottom="5dp"
+      android:paddingTop="7dp"
+      android:paddingBottom="7dp"
       android:textColor="@color/C000000"
       android:textSize="16dp"
       app:layout_constrainedWidth="true"
@@ -97,7 +97,7 @@
       app:layout_constraintStart_toStartOf="parent"
       app:layout_constraintTop_toTopOf="parent"
       app:layout_goneMarginEnd="50dp"
-      tools:text="VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"/>
+      tools:text="VVVVVVVVVVVVVVVVVVV"/>
     <!-- 타이틀 옆에 아이콘 자리 -->
     <ImageView
       android:id="@+id/image_view_open_arrow"
@@ -113,7 +113,7 @@
       app:layout_constraintStart_toEndOf="@+id/action_bar_title"
       app:layout_constraintTop_toTopOf="parent"
       app:srcCompat="@drawable/icon_h_down"
-      tools:visibility="gone"/>
+      tools:visibility="visible"/>
 
     <TextView
       android:id="@+id/text_sub"

+ 12 - 6
app/src/main/res/layout/dialog_category_filter_detail_total.xml

@@ -5,17 +5,19 @@
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/container_total"
   android:layout_width="match_parent"
-  android:layout_height="56dp"
-  android:paddingStart="15dp"
-  android:paddingEnd="25dp">
+  android:layout_height="64dp"
+  android:paddingBottom="8dp"
+  android:paddingStart="22dp"
+  android:paddingEnd="22dp">
 
   <kr.co.zumo.app.lifeplus.view.custom.CustomVCheckBox
     android:id="@+id/check_total"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:layout_marginBottom="2dp"
-    android:padding="10dp"
+    android:layout_marginBottom="7dp"
+    app:layout_constraintHorizontal_bias="0"
     app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
     app:layout_constraintStart_toStartOf="parent">
 
   </kr.co.zumo.app.lifeplus.view.custom.CustomVCheckBox>
@@ -23,7 +25,11 @@
   <View
     android:layout_width="match_parent"
     android:layout_height="1dp"
+    android:layout_marginStart="3dp"
+    android:layout_marginEnd="3dp"
     android:background="@color/CE5E5E5"
-    app:layout_constraintBottom_toBottomOf="parent"/>
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"/>
 
 </android.support.constraint.ConstraintLayout>