Bläddra i källkod

[공통][New] 네비바 텍스트 버튼 보이기

hyodong.min 6 år sedan
förälder
incheckning
6606b78ea2

+ 7 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ActivityBase.java

@@ -408,8 +408,13 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
   }
 
 
-  public void setJoined(boolean isJoined){
-    allMenuDriver.setJoined(isJoined);
+  /**
+   * text 버튼 보이기
+   *
+   * @param isVisible
+   */
+  public void setVisibleTextButton(boolean isVisible){
+    allMenuDriver.setVisibleTextButton(isVisible);
   }
   /**
    * drawer 애니메이션 적용

+ 12 - 16
app/src/main/java/kr/co/zumo/app/lifeplus/activity/AllMenuDriver.java

@@ -47,8 +47,6 @@ public class AllMenuDriver implements PushMessageBroker.IPushMessageListener {
   private List<TextView> categoryList;
   private IEventListener listener;
   private NavigationBar navigationBar;
-  private boolean isJoined;
-  private NavigationBar.Builder builder;
 
   AllMenuDriver(Context context, ConstraintLayout drawerView, IEventListener listener) {
     this.context = context;
@@ -78,6 +76,7 @@ public class AllMenuDriver implements PushMessageBroker.IPushMessageListener {
     ((ViewGroup.MarginLayoutParams) this.menuContainer.getLayoutParams()).topMargin = ResourceUtil.getDimension(R.dimen.action_bar_height);
     this.drawerView.setClickable(true);
 
+    setNavigationBar();
 
     textViewCategory0 = this.drawerView.findViewById(R.id.text_view_category_0);
     textViewCategory1 = this.drawerView.findViewById(R.id.text_view_category_1);
@@ -137,20 +136,12 @@ public class AllMenuDriver implements PushMessageBroker.IPushMessageListener {
 
   private void setNavigationBar() {
 
-    layoutNavigationBar.removeAllViews();
-
-    builder = new NavigationBar.Builder(context)
+    NavigationBar.Builder builder = new NavigationBar.Builder(context)
       .home(actionBar -> listener.onEvent(new Event.Builder(Event.HOME_PAGE).build()))
       .notification(actionBar -> listener.onEvent(new Event.Builder(Event.NOTICE).build()))
       .setting(actionBar -> listener.onEvent(new Event.Builder(Event.SETTING).build()))
-      .close(actionBar -> listener.onEvent(new Event.Builder(Event.CLOSE).build()));
-
-    if (isJoined) {
-      builder.build();
-    }
-    else {
-      builder.textButton(R.string.member_confirm_underline, actionBar -> listener.onEvent(new Event.Builder(Event.SIGN_UP).build())).build();
-    }
+      .close(actionBar -> listener.onEvent(new Event.Builder(Event.CLOSE).build()))
+      .textButton(R.string.member_confirm_underline, actionBar -> listener.onEvent(new Event.Builder(Event.SIGN_UP).build()));
 
     navigationBar = builder.build();
     layoutNavigationBar.addView(navigationBar.getView());
@@ -159,6 +150,7 @@ public class AllMenuDriver implements PushMessageBroker.IPushMessageListener {
   void onOpen() {
     setDefaultAnimationSetting();
     showMenuAnimation();
+
     pushMessageManager = PushMessageManager.getStoredManager();
     PushMessageBroker.getInstance().registerObserver(this);
     dispatchMessage();
@@ -189,8 +181,12 @@ public class AllMenuDriver implements PushMessageBroker.IPushMessageListener {
     new Handler(Looper.getMainLooper()).post(this::dispatchMessage);
   }
 
-  public void setJoined(boolean isJoined) {
-    this.isJoined = isJoined;
-    setNavigationBar();
+  /**
+   * 텍스트 버튼 보이기
+   *
+   * @param isVisible
+   */
+  public void setVisibleTextButton(boolean isVisible) {
+    navigationBar.setVisibleTextButton(isVisible);
   }
 }

+ 33 - 23
app/src/main/java/kr/co/zumo/app/lifeplus/helper/NavigationBar.java

@@ -5,7 +5,6 @@ package kr.co.zumo.app.lifeplus.helper;
 
 import android.content.Context;
 import android.support.annotation.StringRes;
-import android.support.constraint.ConstraintLayout;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ImageView;
@@ -253,28 +252,28 @@ public class NavigationBar {
        * View.GONE 처리시 저사양 기기에서 느려지는 현상이 있어 (lagging) GONE 대신 INVISIBLE, width = 1 로 처리
        * width = 0 은 적용되지 않는다.
        */
-      ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) view.getLayoutParams();
-      if (isVisible) {
-        view.setVisibility(View.VISIBLE);
-        if (null != params) {
-          Integer width = sizeMap.get(view);
-          if (null != width && width > 1) {
-            params.width = width;
-            view.setLayoutParams(params);
-          }
-        }
-      }
-      else {
-        view.setVisibility(View.INVISIBLE);
-        if (null != params) {
-          if (params.width > 1) {
-            sizeMap.put(view, params.width);
-          }
-          params.width = 1;
-          view.setLayoutParams(params);
-        }
-      }
-//      view.setVisibility(isVisible ? View.VISIBLE : visibility);
+//      ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) view.getLayoutParams();
+//      if (isVisible) {
+//        view.setVisibility(View.VISIBLE);
+//        if (null != params) {
+//          Integer width = sizeMap.get(view);
+//          if (null != width && width > 1) {
+//            params.width = width;
+//            view.setLayoutParams(params);
+//          }
+//        }
+//      }
+//      else {
+//        view.setVisibility(View.INVISIBLE);
+//        if (null != params) {
+//          if (params.width > 1) {
+//            sizeMap.put(view, params.width);
+//          }
+//          params.width = 1;
+//          view.setLayoutParams(params);
+//        }
+//      }
+      view.setVisibility(isVisible ? View.VISIBLE : visibility);
     }
   }
 
@@ -632,6 +631,17 @@ public class NavigationBar {
     return builder.title;
   }
 
+  /**
+   * text 버튼 보이기
+   * -
+   * @param isVisible
+   */
+  public void setVisibleTextButton(boolean isVisible) {
+    textButton.setAlpha(isVisible ? 1f : 0f);
+    textButton.setEnabled(isVisible);
+    textButton.setClickable(isVisible);
+  }
+
   /**
    * dispose
    */

+ 3 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/Presenter.java

@@ -945,14 +945,14 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
   public void onNavigationClickMenu(NavigationBar navigationBar) {
     firebaseAnalyticsHelper.click(getAnalyticsScreenName(), R.string.fa_button_all_menu);
 
-    ((ActivityBase) view.getActivity()).openDrawer();
-    ((ActivityBase) view.getActivity()).setJoined(model.isActiveMember());
+    ActivityBase activityBase = ((ActivityBase) view.getActivity());
+    activityBase.openDrawer();
+    activityBase.setVisibleTextButton(false == model.isActiveMember());
 
     //model.setDeliveryPackaging(model.getScreenId());
     // go(ScreenID.ALL_MENU);
   }
 
-
   /**
    * 카테고리 탭 클릭
    *