|
|
@@ -1,24 +1,19 @@
|
|
|
package kr.co.zumo.app.lifeplus.manager;
|
|
|
|
|
|
import android.app.Activity;
|
|
|
+import android.content.Context;
|
|
|
import android.support.annotation.StringRes;
|
|
|
import android.support.constraint.ConstraintLayout;
|
|
|
import android.support.design.widget.AppBarLayout;
|
|
|
import android.support.design.widget.CoordinatorLayout;
|
|
|
-import android.support.v4.graphics.drawable.DrawableCompat;
|
|
|
import android.support.v7.app.ActionBar;
|
|
|
import android.support.v7.widget.Toolbar;
|
|
|
import android.util.Log;
|
|
|
-import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
-import android.widget.ImageView;
|
|
|
import android.widget.ProgressBar;
|
|
|
import android.widget.RadioButton;
|
|
|
import android.widget.RadioGroup;
|
|
|
-import android.widget.TextView;
|
|
|
-
|
|
|
-import java.util.HashMap;
|
|
|
|
|
|
import kr.co.zumo.app.R;
|
|
|
import kr.co.zumo.app.lifeplus.util.ResourceUtil;
|
|
|
@@ -45,31 +40,17 @@ public class ActionBarManager {
|
|
|
return ourInstance;
|
|
|
}
|
|
|
|
|
|
+ private Context context;
|
|
|
private ActionBar actionBar;
|
|
|
private AppBarLayout appBarLayout;
|
|
|
private ViewGroup container;
|
|
|
private Toolbar toolbar;
|
|
|
- private TextView actionBarTitle;
|
|
|
- private ImageView imageBi;
|
|
|
- private ImageView buttonBack;
|
|
|
- private ImageView buttonSearch;
|
|
|
- private ImageView buttonMenu;
|
|
|
private ProgressBar progressBar;
|
|
|
private ConstraintLayout layoutCategoryTab;
|
|
|
private RadioGroup categoryMainTab;
|
|
|
|
|
|
- private ImageView buttonArrow;
|
|
|
- private ImageView buttonHome;
|
|
|
- private ImageView buttonNotification;
|
|
|
- private ImageView buttonSetting;
|
|
|
- private ImageView buttonClose;
|
|
|
- private TextView textButton;
|
|
|
- private View viewUnderline;
|
|
|
-
|
|
|
private Builder builder;
|
|
|
|
|
|
- private HashMap<View, IActionBarListener.Click> clickListenerMap;
|
|
|
-
|
|
|
private IActionBarListener.Scroll scrollListener;
|
|
|
|
|
|
private ActionBarManager() {
|
|
|
@@ -94,62 +75,19 @@ public class ActionBarManager {
|
|
|
this.actionBar = actionBar;
|
|
|
this.appBarLayout = appBarLayout;
|
|
|
this.container = container;
|
|
|
+ this.context = activity;
|
|
|
|
|
|
- clickListenerMap = new HashMap<>();
|
|
|
-
|
|
|
- LayoutInflater inflater = LayoutInflater.from(activity);
|
|
|
- View view = inflater.inflate(R.layout.action_bar, null);
|
|
|
+ toolbar = appBarLayout.findViewById(R.id.toolbar);
|
|
|
+ toolbar.setPadding(0, 0, 0, 0);//for tab otherwise give space in tab
|
|
|
+ toolbar.setContentInsetsAbsolute(0, 0);
|
|
|
|
|
|
progressBar = appBarLayout.findViewById(R.id.progress_bar);
|
|
|
layoutCategoryTab = appBarLayout.findViewById(R.id.layout_category_main_tab);
|
|
|
categoryMainTab = appBarLayout.findViewById(R.id.category_main_tab);
|
|
|
|
|
|
- actionBarTitle = view.findViewById(R.id.action_bar_title);
|
|
|
- imageBi = view.findViewById(R.id.image_bi);
|
|
|
- buttonSearch = view.findViewById(R.id.button_search);
|
|
|
- buttonMenu = view.findViewById(R.id.button_menu);
|
|
|
- buttonBack = view.findViewById(R.id.button_back);
|
|
|
-
|
|
|
- buttonArrow = view.findViewById(R.id.button_open_arrow);
|
|
|
- buttonHome = view.findViewById(R.id.button_home);
|
|
|
- buttonNotification = view.findViewById(R.id.button_notification);
|
|
|
- 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);
|
|
|
- setClickListener(buttonMenu);
|
|
|
- setClickListener(actionBarTitle);
|
|
|
- setClickListener(buttonHome);
|
|
|
- setClickListener(buttonNotification);
|
|
|
- setClickListener(buttonSetting);
|
|
|
- setClickListener(buttonClose);
|
|
|
- setClickListener(textButton);
|
|
|
-
|
|
|
- setCustomView(view);
|
|
|
-
|
|
|
- toolbar = (Toolbar) view.getParent();
|
|
|
- toolbar.setPadding(0, 0, 0, 0);//for tab otherwise give space in tab
|
|
|
- toolbar.setContentInsetsAbsolute(0, 0);
|
|
|
-
|
|
|
Log.i("APP# ActionBarManager | init", "|" + "progressBar: " + progressBar);
|
|
|
}
|
|
|
|
|
|
- private void setClickListener(View view) {
|
|
|
- view.setOnClickListener(v -> {
|
|
|
- IActionBarListener.Click listener = clickListenerMap.get(v);
|
|
|
- if (null != listener) {
|
|
|
- listener.onClick(actionBar);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- private void mapClickListener(View view, IActionBarListener.Click listener) {
|
|
|
- clickListenerMap.put(view, listener);
|
|
|
- }
|
|
|
-
|
|
|
/***********************************
|
|
|
* public
|
|
|
***********************************/
|
|
|
@@ -182,23 +120,6 @@ public class ActionBarManager {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * actionbar hide
|
|
|
- */
|
|
|
- private void hide() {
|
|
|
- actionBar.hide();
|
|
|
-// appBarLayout.setExpanded(false, false);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * show
|
|
|
- */
|
|
|
- private void show() {
|
|
|
- actionBar.show();
|
|
|
-
|
|
|
- appBarLayout.setExpanded(true, true);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 설정 초기화
|
|
|
*
|
|
|
@@ -281,105 +202,12 @@ public class ActionBarManager {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * actionbar 제목 설정
|
|
|
- *
|
|
|
- * @param stringId
|
|
|
- */
|
|
|
- private void setTitle(@StringRes int stringId) {
|
|
|
- actionBarTitle.setText(stringId);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 타이틀 보이기
|
|
|
- * - setTitle() 해서 설정도 해줘야함.
|
|
|
- *
|
|
|
- * @param isVisible
|
|
|
- */
|
|
|
- private void setTitleVisible(boolean isVisible) {
|
|
|
- setViewVisible(actionBarTitle, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 백 버튼 보이기
|
|
|
- *
|
|
|
- * @param isVisible
|
|
|
- */
|
|
|
- private void setBackVisible(boolean isVisible) {
|
|
|
- setViewVisible(buttonBack, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * BI(Lifeplus) 보이기
|
|
|
- *
|
|
|
- * @param isVisible
|
|
|
- */
|
|
|
- private void setBiVisible(boolean isVisible) {
|
|
|
- setViewVisible(imageBi, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 검색 버튼 보이기
|
|
|
- *
|
|
|
- * @param isVisible
|
|
|
- */
|
|
|
- private void setSearchVisible(boolean isVisible) {
|
|
|
- setViewVisible(buttonSearch, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- private void setHomeVisible(boolean isVisible) {
|
|
|
- setViewVisible(buttonHome, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- private void setNotificationVisible(boolean isVisible) {
|
|
|
- setViewVisible(buttonNotification, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- private void setSettingVisible(boolean isVisible) {
|
|
|
- setViewVisible(buttonSetting, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- private void setCloseVisible(boolean isVisible) {
|
|
|
- setViewVisible(buttonClose, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- private void setTextButtonVisible(boolean isVisible) {
|
|
|
- setViewVisible(textButton, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- private void setArrowVisible(boolean isVisible) {
|
|
|
- setViewVisible(buttonArrow, isVisible, View.GONE);
|
|
|
- }
|
|
|
-
|
|
|
- private void setUnderlineVisible(boolean isVisible) {
|
|
|
- setViewVisible(viewUnderline, isVisible, View.GONE);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 메뉴 버튼 보이기
|
|
|
- *
|
|
|
- * @param isVisible
|
|
|
- */
|
|
|
- private void setMenuVisible(boolean isVisible) {
|
|
|
- setViewVisible(buttonMenu, isVisible);
|
|
|
- }
|
|
|
-
|
|
|
- private void setViewVisible(View view, boolean isVisible) {
|
|
|
- if (null != view) {
|
|
|
- setViewVisible(view, isVisible, View.GONE);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
private void setViewVisible(View view, boolean isVisible, int visibility) {
|
|
|
if (null != view) {
|
|
|
view.setVisibility(isVisible ? View.VISIBLE : visibility);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void setBackgroundTransparent(boolean isTransparent) {
|
|
|
- toolbar.setBackgroundResource(isTransparent ? android.R.color.transparent : R.color.C80FFFFFF);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* progress bar 보이기/안보이기
|
|
|
*
|
|
|
@@ -390,23 +218,22 @@ public class ActionBarManager {
|
|
|
}
|
|
|
|
|
|
private void set(Builder newBuilder) {
|
|
|
+
|
|
|
if (null == builder) {
|
|
|
+
|
|
|
builder = new Builder();
|
|
|
- setTitleVisible(false);
|
|
|
- setBackVisible(false);
|
|
|
- setBiVisible(false);
|
|
|
- setSearchVisible(false);
|
|
|
- setMenuVisible(false);
|
|
|
setProgressVisible(false);
|
|
|
- setArrowVisible(false);
|
|
|
setScrollable(false);
|
|
|
- setBackgroundTransparent(false);
|
|
|
- setHomeVisible(false);
|
|
|
- setSettingVisible(false);
|
|
|
- setNotificationVisible(false);
|
|
|
- setCloseVisible(false);
|
|
|
- setTextButtonVisible(false);
|
|
|
- setUnderlineVisible(false);
|
|
|
+ }
|
|
|
+ // navigation bar setting
|
|
|
+ NavigationBar navigationBar = new NavigationBar.Builder(context).build(newBuilder.getNavigationBarBuilder());
|
|
|
+ View view = navigationBar.getView();
|
|
|
+ setCustomView(view);
|
|
|
+
|
|
|
+ if (newBuilder.isHidden) {
|
|
|
+ navigationBar.hide();
|
|
|
+
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
if (builder.isScrollable != newBuilder.isScrollable) {
|
|
|
@@ -416,127 +243,50 @@ public class ActionBarManager {
|
|
|
setProgressVisible(newBuilder.isVisibleProgress);
|
|
|
}
|
|
|
|
|
|
- //카테고리 이동시 탭 gone 처리, arrow icon default setting
|
|
|
+ //카테고리 이동시 탭 gone 처리
|
|
|
layoutCategoryTab.setVisibility(View.GONE);
|
|
|
- buttonArrow.setImageResource(R.drawable.icon_h_down);
|
|
|
|
|
|
if (newBuilder.selectedCategoryIndex > -1) {
|
|
|
((RadioButton) categoryMainTab.getChildAt(newBuilder.selectedCategoryIndex)).setChecked(true);
|
|
|
}
|
|
|
|
|
|
- if (builder.isVisibleCategoryArrow != newBuilder.isVisibleCategoryArrow) {
|
|
|
- setArrowVisible(newBuilder.isVisibleCategoryArrow);
|
|
|
+ if (newBuilder.isVisibleCategory) {
|
|
|
+ newBuilder.arrowListener = navigationBar1 -> {
|
|
|
+ if (navigationBar1.isArrowOpened()) {
|
|
|
+ layoutCategoryTab.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ layoutCategoryTab.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
- buttonArrow.setOnClickListener(view1 -> {
|
|
|
- layoutCategoryTab.setVisibility(layoutCategoryTab.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
|
|
|
- buttonArrow.setImageResource(layoutCategoryTab.getVisibility() == View.GONE ? R.drawable.icon_h_down : R.drawable.icon_header_up);
|
|
|
- });
|
|
|
+ newBuilder.titleListener = navigationBar12 -> {
|
|
|
+ if (navigationBar12.isArrowOpened()) {
|
|
|
+ layoutCategoryTab.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ layoutCategoryTab.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
- if (newBuilder.isVisibleCategoryArrow) {
|
|
|
- actionBarTitle.setOnClickListener(view1 -> {
|
|
|
- layoutCategoryTab.setVisibility(layoutCategoryTab.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
|
|
|
- buttonArrow.setImageResource(layoutCategoryTab.getVisibility() == View.GONE ? R.drawable.icon_h_down : R.drawable.icon_header_up);
|
|
|
- });
|
|
|
- }
|
|
|
- else {
|
|
|
- actionBarTitle.setOnClickListener(null);
|
|
|
- }
|
|
|
int len = categoryMainTab.getChildCount();
|
|
|
for (int i = 0; i < len; ++i) {
|
|
|
(categoryMainTab.getChildAt(i)).setOnClickListener(v -> {
|
|
|
int selectIndex = categoryMainTab.indexOfChild(v);
|
|
|
- if (null != newBuilder.categoryListener) {
|
|
|
+ // 다른 카테고리 선택했을 때만 이벤트 발송
|
|
|
+ if (newBuilder.selectedCategoryIndex != selectIndex && null != newBuilder.categoryListener) {
|
|
|
newBuilder.categoryListener.onClick(actionBar, selectIndex);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (builder.isVisibleMenu != newBuilder.isVisibleMenu || builder.menuListener != newBuilder.menuListener) {
|
|
|
- setMenuVisible(newBuilder.isVisibleMenu);
|
|
|
- mapClickListener(buttonMenu, newBuilder.menuListener);
|
|
|
-
|
|
|
- }
|
|
|
- if (builder.isVisibleSearch != newBuilder.isVisibleSearch || builder.searchListener != newBuilder.searchListener) {
|
|
|
- setSearchVisible(newBuilder.isVisibleSearch);
|
|
|
- mapClickListener(buttonSearch, newBuilder.searchListener);
|
|
|
- }
|
|
|
- if (builder.isVisibleBi != newBuilder.isVisibleBi) {
|
|
|
- setBiVisible(newBuilder.isVisibleBi);
|
|
|
- }
|
|
|
- if (builder.isVisibleBack != newBuilder.isVisibleBack || builder.backListener != newBuilder.backListener) {
|
|
|
- setBackVisible(newBuilder.isVisibleBack);
|
|
|
- mapClickListener(buttonBack, newBuilder.backListener);
|
|
|
- }
|
|
|
- if (builder.isVisibleTitle != newBuilder.isVisibleTitle
|
|
|
- || builder.titleListener != newBuilder.titleListener
|
|
|
- || builder.title != newBuilder.title) {
|
|
|
- setTitleVisible(newBuilder.isVisibleTitle);
|
|
|
- setTitle(newBuilder.title);
|
|
|
- mapClickListener(actionBarTitle, newBuilder.titleListener);
|
|
|
- }
|
|
|
- if (builder.isTransparentBackground != newBuilder.isTransparentBackground) {
|
|
|
- setBackgroundTransparent(newBuilder.isTransparentBackground);
|
|
|
- }
|
|
|
- if (builder.isWhite != newBuilder.isWhite) {
|
|
|
- setWhiteUi(newBuilder.isWhite);
|
|
|
- }
|
|
|
- if (builder.isVisibleHome != newBuilder.isVisibleHome || builder.homeListener != newBuilder.homeListener) {
|
|
|
- setHomeVisible(newBuilder.isVisibleHome);
|
|
|
- mapClickListener(buttonHome, newBuilder.homeListener);
|
|
|
- }
|
|
|
- if (builder.isVisibleNotification != newBuilder.isVisibleNotification || builder.notificationListener != newBuilder.notificationListener) {
|
|
|
- setNotificationVisible(newBuilder.isVisibleNotification);
|
|
|
- mapClickListener(buttonNotification, newBuilder.notificationListener);
|
|
|
- }
|
|
|
- if (builder.isVisibleSetting != newBuilder.isVisibleSetting || builder.settingListener != newBuilder.settingListener) {
|
|
|
- setSettingVisible(newBuilder.isVisibleSetting);
|
|
|
- mapClickListener(buttonSetting, newBuilder.settingListener);
|
|
|
- }
|
|
|
- if (builder.isVisibleClose != newBuilder.isVisibleClose || builder.closeListener != newBuilder.closeListener) {
|
|
|
- setCloseVisible(newBuilder.isVisibleClose);
|
|
|
- mapClickListener(buttonClose, newBuilder.closeListener);
|
|
|
- }
|
|
|
- if (builder.isVisibleTextButton != newBuilder.isVisibleTextButton
|
|
|
- || builder.textButtonListener != newBuilder.textButtonListener
|
|
|
- || builder.text != newBuilder.text) {
|
|
|
- setTextButtonVisible(newBuilder.isVisibleTextButton);
|
|
|
- textButton.setText(newBuilder.text);
|
|
|
- mapClickListener(textButton, newBuilder.textButtonListener);
|
|
|
- }
|
|
|
-
|
|
|
- if (builder.isVisibleUnderline != newBuilder.isVisibleUnderline) {
|
|
|
- setUnderlineVisible(newBuilder.isVisibleUnderline);
|
|
|
- }
|
|
|
-
|
|
|
builder = newBuilder;
|
|
|
|
|
|
setContentsLayout(builder.isHidden, builder.isScrollable, builder.isTransparentBackground);
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void setWhiteUi(boolean isWhite) {
|
|
|
- int color;
|
|
|
- if (isWhite) {
|
|
|
- color = ResourceUtil.getColor(R.color.CFFFFFF);
|
|
|
- actionBarTitle.setTextColor(color);
|
|
|
- DrawableCompat.setTint(buttonBack.getDrawable(), color);
|
|
|
- DrawableCompat.setTint(imageBi.getDrawable(), color);
|
|
|
- DrawableCompat.setTint(buttonBack.getDrawable(), color);
|
|
|
- DrawableCompat.setTint(buttonSearch.getDrawable(), color);
|
|
|
- DrawableCompat.setTint(buttonMenu.getDrawable(), color);
|
|
|
- }
|
|
|
- else {
|
|
|
- color = ResourceUtil.getColor(R.color.C000000);
|
|
|
- actionBarTitle.setTextColor(color);
|
|
|
- DrawableCompat.setTint(buttonBack.getDrawable(), color);
|
|
|
- DrawableCompat.setTint(imageBi.getDrawable(), color);
|
|
|
- DrawableCompat.setTint(buttonBack.getDrawable(), color);
|
|
|
- DrawableCompat.setTint(buttonSearch.getDrawable(), color);
|
|
|
- DrawableCompat.setTint(buttonMenu.getDrawable(), color);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
private void setCustomView(View view) {
|
|
|
|
|
|
// Custom Actionbar 를 사용하기 위해 CustomEnabled 을 true 시키고 필요 없는 것은 false 시킨다
|
|
|
@@ -564,8 +314,6 @@ public class ActionBarManager {
|
|
|
|
|
|
scrollListener = null;
|
|
|
|
|
|
- clickListenerMap = null;
|
|
|
-
|
|
|
actionBar = null;
|
|
|
builder = null;
|
|
|
}
|
|
|
@@ -575,46 +323,32 @@ public class ActionBarManager {
|
|
|
***********************************/
|
|
|
public static class Builder {
|
|
|
|
|
|
- private boolean isVisibleTitle = false;
|
|
|
- private boolean isVisibleBack = false;
|
|
|
- private boolean isVisibleBi = false;
|
|
|
- private boolean isVisibleSearch = false;
|
|
|
- private boolean isVisibleMenu = false;
|
|
|
private boolean isVisibleProgress = false;
|
|
|
- private boolean isVisibleCategoryArrow = false;
|
|
|
+ private boolean isVisibleCategory = false;
|
|
|
private boolean isScrollable = false;
|
|
|
- private int title = R.string.empty_string;
|
|
|
private boolean isTransparentBackground = false;
|
|
|
private boolean isHidden = false;
|
|
|
- private boolean isWhite = false;
|
|
|
-
|
|
|
- private boolean isVisibleHome = false;
|
|
|
- private boolean isVisibleNotification = false;
|
|
|
- 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;
|
|
|
|
|
|
- private IActionBarListener.Click backListener = null;
|
|
|
- private IActionBarListener.Click bookmarkListener = null;
|
|
|
- private IActionBarListener.Click likeListener = null;
|
|
|
- private IActionBarListener.Click menuListener = null;
|
|
|
- private IActionBarListener.Click searchListener = null;
|
|
|
- private IActionBarListener.Click shareListener = null;
|
|
|
- private IActionBarListener.Click titleListener = null;
|
|
|
-
|
|
|
- private IActionBarListener.Click homeListener = null;
|
|
|
- private IActionBarListener.Click notificationListener = null;
|
|
|
- private IActionBarListener.Click settingListener = null;
|
|
|
- private IActionBarListener.Click closeListener = null;
|
|
|
- private IActionBarListener.Click textButtonListener = null;
|
|
|
private IActionBarListener.CategoryClick categoryListener = null;
|
|
|
|
|
|
+ private NavigationBar.Builder navigationBarBuilder;
|
|
|
+
|
|
|
+ protected INavigationBarListener arrowListener = null;
|
|
|
+ protected INavigationBarListener titleListener = null;
|
|
|
|
|
|
public Builder() {
|
|
|
+ navigationBarBuilder = new NavigationBar.Builder();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * NavigationBar.Builder
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public NavigationBar.Builder getNavigationBarBuilder() {
|
|
|
+ return navigationBarBuilder;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -623,15 +357,17 @@ public class ActionBarManager {
|
|
|
* @param stringId @StringRes
|
|
|
* @return Builder
|
|
|
*/
|
|
|
- public Builder title(@StringRes int stringId, IActionBarListener.Click titleListener) {
|
|
|
- this.title = stringId;
|
|
|
- isVisibleTitle = true;
|
|
|
- this.titleListener = titleListener;
|
|
|
+ public Builder title(@StringRes int stringId, INavigationBarListener titleListener) {
|
|
|
+ navigationBarBuilder.title(stringId, titleListener);
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
public Builder title(@StringRes int stringId) {
|
|
|
- return title(stringId, null);
|
|
|
+ return title(stringId, navigationBar -> {
|
|
|
+ if (null != titleListener) {
|
|
|
+ titleListener.onClick(navigationBar);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -639,9 +375,8 @@ public class ActionBarManager {
|
|
|
*
|
|
|
* @return Builder
|
|
|
*/
|
|
|
- public Builder back(IActionBarListener.Click backListener) {
|
|
|
- isVisibleBack = true;
|
|
|
- this.backListener = backListener;
|
|
|
+ public Builder back(INavigationBarListener backListener) {
|
|
|
+ navigationBarBuilder.back(backListener);
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -651,7 +386,7 @@ public class ActionBarManager {
|
|
|
* @return Builder
|
|
|
*/
|
|
|
public Builder logo() {
|
|
|
- isVisibleBi = true;
|
|
|
+ navigationBarBuilder.logo();
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -660,9 +395,8 @@ public class ActionBarManager {
|
|
|
*
|
|
|
* @return Builder
|
|
|
*/
|
|
|
- public Builder search(IActionBarListener.Click searchListener) {
|
|
|
- isVisibleSearch = true;
|
|
|
- this.searchListener = searchListener;
|
|
|
+ public Builder search(INavigationBarListener searchListener) {
|
|
|
+ navigationBarBuilder.search(searchListener);
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -671,9 +405,8 @@ public class ActionBarManager {
|
|
|
*
|
|
|
* @return Builder
|
|
|
*/
|
|
|
- public Builder menu(IActionBarListener.Click menuListener) {
|
|
|
- isVisibleMenu = true;
|
|
|
- this.menuListener = menuListener;
|
|
|
+ public Builder menu(INavigationBarListener menuListener) {
|
|
|
+ navigationBarBuilder.menu(menuListener);
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -693,9 +426,14 @@ public class ActionBarManager {
|
|
|
* @return Builder
|
|
|
*/
|
|
|
public Builder category(int index, IActionBarListener.CategoryClick categoryListener) {
|
|
|
- isVisibleCategoryArrow = true;
|
|
|
+ isVisibleCategory = true;
|
|
|
selectedCategoryIndex = index;
|
|
|
this.categoryListener = categoryListener;
|
|
|
+ navigationBarBuilder.arrow(navigationBar -> {
|
|
|
+ if (null != arrowListener) {
|
|
|
+ arrowListener.onClick(navigationBar);
|
|
|
+ }
|
|
|
+ });
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -715,7 +453,7 @@ public class ActionBarManager {
|
|
|
* @return Builder
|
|
|
*/
|
|
|
public Builder transparent() {
|
|
|
- isTransparentBackground = true;
|
|
|
+ navigationBarBuilder.transparent();
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -724,9 +462,8 @@ public class ActionBarManager {
|
|
|
*
|
|
|
* @return Builder
|
|
|
*/
|
|
|
- public Builder home(IActionBarListener.Click homeListener) {
|
|
|
- isVisibleHome = true;
|
|
|
- this.homeListener = homeListener;
|
|
|
+ public Builder home(INavigationBarListener homeListener) {
|
|
|
+ navigationBarBuilder.home(homeListener);
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -735,9 +472,8 @@ public class ActionBarManager {
|
|
|
*
|
|
|
* @return Builder
|
|
|
*/
|
|
|
- public Builder notification(IActionBarListener.Click notificationListener) {
|
|
|
- isVisibleNotification = true;
|
|
|
- this.notificationListener = notificationListener;
|
|
|
+ public Builder notification(INavigationBarListener notificationListener) {
|
|
|
+ navigationBarBuilder.notification(notificationListener);
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -746,9 +482,8 @@ public class ActionBarManager {
|
|
|
*
|
|
|
* @return Builder
|
|
|
*/
|
|
|
- public Builder setting(IActionBarListener.Click settingListener) {
|
|
|
- isVisibleSetting = true;
|
|
|
- this.settingListener = settingListener;
|
|
|
+ public Builder setting(INavigationBarListener settingListener) {
|
|
|
+ navigationBarBuilder.setting(settingListener);
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -757,9 +492,8 @@ public class ActionBarManager {
|
|
|
*
|
|
|
* @return Builder
|
|
|
*/
|
|
|
- public Builder close(IActionBarListener.Click closeListener) {
|
|
|
- isVisibleClose = true;
|
|
|
- this.closeListener = closeListener;
|
|
|
+ public Builder close(INavigationBarListener closeListener) {
|
|
|
+ navigationBarBuilder.close(closeListener);
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -768,10 +502,8 @@ public class ActionBarManager {
|
|
|
*
|
|
|
* @return Builder
|
|
|
*/
|
|
|
- public Builder textButton(@StringRes int stringId, IActionBarListener.Click textButtonListener) {
|
|
|
- text = stringId;
|
|
|
- isVisibleTextButton = true;
|
|
|
- this.textButtonListener = textButtonListener;
|
|
|
+ public Builder textButton(@StringRes int stringId, INavigationBarListener textButtonListener) {
|
|
|
+ navigationBarBuilder.textButton(stringId, textButtonListener);
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -781,7 +513,7 @@ public class ActionBarManager {
|
|
|
* @return Builder
|
|
|
*/
|
|
|
public Builder white() {
|
|
|
- isWhite = true;
|
|
|
+ navigationBarBuilder.white();
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -790,8 +522,8 @@ public class ActionBarManager {
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- public Builder unlderline() {
|
|
|
- isVisibleUnderline = true;
|
|
|
+ public Builder underline() {
|
|
|
+ navigationBarBuilder.underline();
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
@@ -805,7 +537,6 @@ public class ActionBarManager {
|
|
|
public void show() {
|
|
|
isHidden = false;
|
|
|
set();
|
|
|
- ourInstance.show();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -814,7 +545,6 @@ public class ActionBarManager {
|
|
|
public void hide() {
|
|
|
isHidden = true;
|
|
|
set();
|
|
|
- ourInstance.hide();
|
|
|
}
|
|
|
}
|
|
|
|