Pārlūkot izejas kodu

[공통][New] ActionBar 에 underline 추가

hyodong.min 7 gadi atpakaļ
vecāks
revīzija
599f5bef35

+ 22 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/manager/ActionBarManager.java

@@ -64,6 +64,7 @@ public class ActionBarManager {
   private ImageView buttonSetting;
   private ImageView buttonClose;
   private TextView textButton;
+  private View viewUnderline;
 
   private Builder builder;
 
@@ -115,6 +116,7 @@ public class ActionBarManager {
     buttonSetting = view.findViewById(R.id.button_setting);
     buttonClose = view.findViewById(R.id.button_close);
     textButton = view.findViewById(R.id.text_sub);
+    viewUnderline = view.findViewById(R.id.view_underline);
 
     setClickListener(buttonBack);
     setClickListener(buttonSearch);
@@ -349,6 +351,10 @@ public class ActionBarManager {
     setViewVisible(buttonArrow, isVisible, View.GONE);
   }
 
+  private void setUnderlineVisible(boolean isVisible) {
+    setViewVisible(viewUnderline, isVisible, View.GONE);
+  }
+
   /**
    * 메뉴 버튼 보이기
    *
@@ -400,6 +406,7 @@ public class ActionBarManager {
       setNotificationVisible(false);
       setCloseVisible(false);
       setTextButtonVisible(false);
+      setUnderlineVisible(false);
     }
 
     if (builder.isScrollable != newBuilder.isScrollable) {
@@ -498,6 +505,10 @@ public class ActionBarManager {
       mapClickListener(textButton, newBuilder.textButtonListener);
     }
 
+    if (builder.isVisibleUnderline != newBuilder.isVisibleUnderline) {
+      setUnderlineVisible(newBuilder.isVisibleUnderline);
+    }
+
     builder = newBuilder;
 
     setContentsLayout(builder.isHidden, builder.isScrollable, builder.isTransparentBackground);
@@ -582,6 +593,7 @@ public class ActionBarManager {
     private boolean isVisibleSetting = false;
     private boolean isVisibleClose = false;
     private boolean isVisibleTextButton = false;
+    private boolean isVisibleUnderline = false;
     private int text = R.string.empty_string;
 
     private int selectedCategoryIndex = -1;
@@ -773,6 +785,16 @@ public class ActionBarManager {
       return this;
     }
 
+    /**
+     * 회색 밑 줄
+     *
+     * @return
+     */
+    public Builder unlderline() {
+      isVisibleUnderline = true;
+      return this;
+    }
+
     private void set() {
       ourInstance.set(this);
     }

+ 19 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/manager/NavigationBar.java

@@ -41,6 +41,7 @@ public class NavigationBar {
   private ImageView buttonSetting;
   private ImageView buttonClose;
   private TextView textButton;
+  private View viewUnderline;
 
   private boolean isArrowOpened = false;
 
@@ -70,6 +71,7 @@ public class NavigationBar {
     buttonSetting = view.findViewById(R.id.button_setting);
     buttonClose = view.findViewById(R.id.button_close);
     textButton = view.findViewById(R.id.text_sub);
+    viewUnderline = view.findViewById(R.id.view_underline);
 
     setClickListener(buttonBack);
     setClickListener(buttonSearch);
@@ -167,6 +169,10 @@ public class NavigationBar {
     setViewVisible(buttonArrow, isVisible, View.GONE);
   }
 
+  private void setUnderlineVisible(boolean isVisible) {
+    setViewVisible(viewUnderline, isVisible, View.GONE);
+  }
+
   /**
    * 메뉴 버튼 보이기
    *
@@ -243,6 +249,8 @@ public class NavigationBar {
         newBuilder.arrowListener.onClick(NavigationBar.this);
       });
     }
+
+    setUnderlineVisible(newBuilder.isVisibleUnderline);
   }
 
   private void setWhiteUi(boolean isWhite) {
@@ -323,6 +331,7 @@ public class NavigationBar {
     private boolean isVisibleSetting = false;
     private boolean isVisibleClose = false;
     private boolean isVisibleTextButton = false;
+    private boolean isVisibleUnderline;
     private int text = R.string.empty_string;
 
     private INavigationBarListener backListener = null;
@@ -491,6 +500,16 @@ public class NavigationBar {
       return this;
     }
 
+    /**
+     * 회색 밑 줄
+     *
+     * @return
+     */
+    public Builder unlderline() {
+      isVisibleUnderline = true;
+      return this;
+    }
+
     public NavigationBar build() {
       NavigationBar navigationBar = new NavigationBar(context);
       navigationBar.set(this);

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

@@ -92,6 +92,7 @@ public class FAQWriteFragment extends FragmentBase<FAQWritePresenter> implements
   protected void defineActionBar() {
     ActionBarManager.getInstance().begin()
       .back(actionBar -> presenter.onClickBack(actionBar))
+      .unlderline()
       .show();
   }
 

+ 14 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/faq/MyFAQFragment.java

@@ -61,11 +61,20 @@ public class MyFAQFragment extends FragmentBase<MyFAQPresenter> implements IMyFa
 
   @Override
   protected void defineActionBar() {
-    ActionBarManager.getInstance().begin().title(R.string.my_faq)
+    defineActionBar(false);
+  }
+
+  private void defineActionBar(boolean hasUnderline) {
+    ActionBarManager.Builder builder = ActionBarManager.getInstance().begin().title(R.string.my_faq)
       .menu(actionBar -> presenter.onClickMenu(actionBar))
       .search(actionBar -> presenter.onClickSearch(actionBar))
-      .back(actionBar -> presenter.onClickBack(actionBar))
-      .show();
+      .back(actionBar -> presenter.onClickBack(actionBar));
+
+    if (hasUnderline) {
+      builder.unlderline();
+    }
+
+    builder.show();
   }
 
   @Override
@@ -108,6 +117,8 @@ public class MyFAQFragment extends FragmentBase<MyFAQPresenter> implements IMyFa
       myFAQList.setAdapter(adapter);
     }
     else {
+      defineActionBar(true);
+
       viewNoQuestion.setVisibility(View.VISIBLE);
       myFAQList.setVisibility(View.GONE);
     }

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainContentsWeatherView.java

@@ -69,7 +69,7 @@ public class MainContentsWeatherView extends MainContentsView /*implements ViewT
 
 //    itemView.getViewTreeObserver().addOnGlobalLayoutListener(this);
 
-    initWeatherY = ResourceUtil.getDimension(R.dimen.main_contents_weather_marget_top); //weather.getY();
+    initWeatherY = ResourceUtil.getDimension(R.dimen.main_contents_weather_margin_top); //weather.getY();
     initY = 0; //itemView.getY(); //getScreenY(itemView);
     Log.i("APP# MainContentsWeatherView | init", "|" + " initY: " + initY + " initWeatherY: " + initWeatherY + ", this: " + this);
   }

+ 7 - 0
app/src/main/res/layout/action_bar.xml

@@ -189,6 +189,13 @@
       android:layout_height="wrap_content"
       android:orientation="vertical"
       app:layout_constraintGuide_end="7dp"/>
+
+    <View
+      android:id="@+id/view_underline"
+      android:layout_width="match_parent"
+      android:layout_height="1dp"
+      android:background="@color/CE5E5E5"
+      app:layout_constraintBottom_toBottomOf="parent"/>
   </android.support.constraint.ConstraintLayout>
 
 </RelativeLayout>

+ 1 - 1
app/src/main/res/layout/main_contents_weather.xml

@@ -7,7 +7,7 @@
   android:layout_height="274dp"
   android:background="@color/CFFFFFF"
   android:orientation="vertical"
-  android:paddingTop="@dimen/main_contents_weather_marget_top">
+  android:paddingTop="@dimen/main_contents_weather_margin_top">
 
   <LinearLayout
     android:id="@+id/layout_container_weather"

+ 2 - 2
app/src/main/res/values/dimens.xml

@@ -3,8 +3,8 @@
   <dimen name="activity_horizontal_margin">16dp</dimen>
   <dimen name="activity_vertical_margin">16dp</dimen>
   <dimen name="fab_margin">22dp</dimen>
-  <dimen name="action_bar_height">58dp</dimen>
-  <dimen name="main_contents_weather_marget_top">96dp</dimen>  <!--38dp + 58dp-->
+  <dimen name="action_bar_height">52dp</dimen>
+  <dimen name="main_contents_weather_margin_top">90dp</dimen>  <!--38dp + 52dp-->
   <dimen name="main_contents_start_gap">57dp</dimen>
   <dimen name="main_contents_image_width">285dp</dimen>
   <dimen name="main_contents_image_height">328dp</dimen>