ソースを参照

[카테고리메인][Common] 카테고리 메인 필터 다이얼로그 추가

Hasemi 7 年 前
コミット
4f291dd0a5

+ 3 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/main/banner/MainBannerViewItemDotIndicator.java

@@ -48,7 +48,6 @@ public class MainBannerViewItemDotIndicator extends RecyclerView.ItemDecoration
   /**
    * Some more natural animation interpolation
    */
-  //private final Interpolator mInterpolator = new AccelerateDecelerateInterpolator();
 
   private final Paint mPaint = new Paint();
 
@@ -70,9 +69,9 @@ public class MainBannerViewItemDotIndicator extends RecyclerView.ItemDecoration
     float paddingBetweenItems = Math.max(0, itemCount - 1) * mIndicatorItemPadding;
     float indicatorTotalWidth = totalLength + paddingBetweenItems;
     float indicatorStartX = (parent.getWidth() - indicatorTotalWidth) / 2F;
-
     float indicatorPosY = parent.getHeight() - mIndicatorHeight / 2F;
 
+
     drawInactiveIndicators(c, indicatorStartX, indicatorPosY, itemCount);
 
 
@@ -95,10 +94,9 @@ public class MainBannerViewItemDotIndicator extends RecyclerView.ItemDecoration
 
     float start = indicatorStartX;
     for (int i = 0; i < itemCount; i++) {
-      // draw the line for every item
+      // itemCount 1은 안띄움
       if (itemCount != 1) {
         c.drawCircle(start, indicatorPosY, mIndicatorItemLength / 2F, mPaint);
-
         start += itemWidth;
       }
     }
@@ -110,7 +108,7 @@ public class MainBannerViewItemDotIndicator extends RecyclerView.ItemDecoration
 
     // width of item indicator including padding
     final float itemWidth = mIndicatorItemLength + mIndicatorItemPadding;
-
+    Log.e("APP#  MainBannerViewItemDotIndicator | drawHighlights", "|" + highlightPosition);
 
       // no swipe, draw a normal indicator
       float highlightStart = indicatorStartX + itemWidth * highlightPosition;

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

@@ -79,6 +79,7 @@ public class SecondCategoryMainFragment extends FragmentBase<SecondCategoryMainP
     findViewById(R.id.second_category_main_filter).setOnClickListener(view -> presenter.onEvent(new Event.Builder(Event.FILTER).build()));
   }
 
+
   @Override
   protected void defineActionBar() {
     ActionBarManager.getInstance().begin().title(R.string.contents_category2_action_bar_title)

+ 34 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/category/SecondCategoryMainPresenter.java

@@ -6,6 +6,12 @@ import kr.co.zumo.app.lifeplus.model.BlankModel;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.IView;
+import kr.co.zumo.app.lifeplus.view.dialog.CategoryMainFilterDialog;
+import kr.co.zumo.app.lifeplus.view.dialog.DialogBase;
+import kr.co.zumo.app.lifeplus.view.dialog.DialogBuilder;
+import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
+import kr.co.zumo.app.lifeplus.view.dialog.IAttribute;
+import kr.co.zumo.app.lifeplus.view.dialog.IDialogResultListener;
 import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
 
 /**
@@ -20,6 +26,8 @@ import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
  */
 public class SecondCategoryMainPresenter extends Presenter<BlankModel, IView> {
 
+  private DialogBase filterDialog;
+
   public SecondCategoryMainPresenter(BlankModel model, IView view) {
     super(model, view);
   }
@@ -57,7 +65,32 @@ public class SecondCategoryMainPresenter extends Presenter<BlankModel, IView> {
 
   @Override
   protected void onEventInternal(Event event) {
-
+    switch (event.getEventId()) {
+      case Event.FILTER:
+        filterDialog = DialogBuilder.create(DialogID.MAIN_FILTER)
+          .listener(new IDialogResultListener() {
+            @Override
+            public void onDialogResult(DialogBase dialog, Event event) {
+              switch (event.getEventId()) {
+                case Event.CLOSE:
+                  dialog.dispose();
+                  break;
+                default:
+                  break;
+              }
+            }
+
+            @Override
+            public void onDialogCanceled(DialogBase dialog) {
+              dialog.dispose();
+            }
+          })
+          .attribute((IAttribute<CategoryMainFilterDialog>) dialog -> {})
+          .show();
+        break;
+      default:
+        break;
+    }
   }
 
   @Override