|
|
@@ -58,22 +58,10 @@ public class ActionBarManager {
|
|
|
private ImageView buttonAlarm;
|
|
|
private ImageView buttonSetting;
|
|
|
private ImageView buttonClose;
|
|
|
+ private TextView textButton;
|
|
|
|
|
|
private Builder builder;
|
|
|
|
|
|
-// private IActionBarListener.Click backListener;
|
|
|
-// private IActionBarListener.Click bookmarkListener;
|
|
|
-// private IActionBarListener.Click likeListener;
|
|
|
-// private IActionBarListener.Click menuListener;
|
|
|
-// private IActionBarListener.Click searchListener;
|
|
|
-// private IActionBarListener.Click shareListener;
|
|
|
-// private IActionBarListener.Click titleListener;
|
|
|
-//
|
|
|
-// private IActionBarListener.Click homeListener = null;
|
|
|
-// private IActionBarListener.Click alarmListener = null;
|
|
|
-// private IActionBarListener.Click settingListener = null;
|
|
|
-// private IActionBarListener.Click closeListener = null;
|
|
|
-
|
|
|
private HashMap<View, IActionBarListener.Click> clickListenerMap;
|
|
|
|
|
|
private IActionBarListener.Scroll scrollListener;
|
|
|
@@ -115,10 +103,11 @@ public class ActionBarManager {
|
|
|
buttonMenu = view.findViewById(R.id.button_menu);
|
|
|
buttonBack = view.findViewById(R.id.button_back);
|
|
|
|
|
|
- buttonHome = view.findViewById(R.id.button_back);
|
|
|
- buttonAlarm = view.findViewById(R.id.button_back);
|
|
|
- buttonSetting = view.findViewById(R.id.button_back);
|
|
|
- buttonClose = view.findViewById(R.id.button_back);
|
|
|
+ buttonHome = view.findViewById(R.id.button_home);
|
|
|
+ buttonAlarm = view.findViewById(R.id.button_alarm);
|
|
|
+ buttonSetting = view.findViewById(R.id.button_setting);
|
|
|
+ buttonClose = view.findViewById(R.id.button_close);
|
|
|
+ textButton = view.findViewById(R.id.text_sub);
|
|
|
|
|
|
setClickListener(buttonBack);
|
|
|
setClickListener(buttonSearch);
|
|
|
@@ -128,6 +117,7 @@ public class ActionBarManager {
|
|
|
setClickListener(buttonAlarm);
|
|
|
setClickListener(buttonSetting);
|
|
|
setClickListener(buttonClose);
|
|
|
+ setClickListener(textButton);
|
|
|
|
|
|
setCustomView(view);
|
|
|
|
|
|
@@ -290,6 +280,7 @@ public class ActionBarManager {
|
|
|
* @param stringId
|
|
|
*/
|
|
|
private void setTitle(@StringRes int stringId) {
|
|
|
+ actionBarTitle.setText(stringId);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -345,6 +336,10 @@ public class ActionBarManager {
|
|
|
setViewVisible(buttonClose, isVisible);
|
|
|
}
|
|
|
|
|
|
+ private void setTextButtonVisible(boolean isVisible) {
|
|
|
+ setViewVisible(textButton, isVisible);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 메뉴 버튼 보이기
|
|
|
*
|
|
|
@@ -390,6 +385,10 @@ public class ActionBarManager {
|
|
|
setProgressVisible(false);
|
|
|
setScrollable(false);
|
|
|
setBackgroundTransparent(false);
|
|
|
+ setHomeVisible(false);
|
|
|
+ setSettingVisible(false);
|
|
|
+ setAlarmVisible(false);
|
|
|
+ setCloseVisible(false);
|
|
|
}
|
|
|
|
|
|
if (builder.isScrollable != newBuilder.isScrollable) {
|
|
|
@@ -414,7 +413,9 @@ public class ActionBarManager {
|
|
|
setBackVisible(newBuilder.isVisibleBack);
|
|
|
mapClickListener(buttonBack, newBuilder.backListener);
|
|
|
}
|
|
|
- if (builder.isVisibleTitle != newBuilder.isVisibleTitle || builder.titleListener != newBuilder.titleListener) {
|
|
|
+ if (builder.isVisibleTitle != newBuilder.isVisibleTitle
|
|
|
+ || builder.titleListener != newBuilder.titleListener
|
|
|
+ || builder.title != newBuilder.title) {
|
|
|
setTitleVisible(newBuilder.isVisibleTitle);
|
|
|
setTitle(newBuilder.title);
|
|
|
mapClickListener(actionBarTitle, newBuilder.titleListener);
|
|
|
@@ -430,16 +431,23 @@ public class ActionBarManager {
|
|
|
mapClickListener(buttonHome, newBuilder.homeListener);
|
|
|
}
|
|
|
if (builder.isVisibleAlarm != newBuilder.isVisibleAlarm || builder.alarmListener != newBuilder.alarmListener) {
|
|
|
- setHomeVisible(newBuilder.isVisibleAlarm);
|
|
|
+ setAlarmVisible(newBuilder.isVisibleAlarm);
|
|
|
mapClickListener(buttonAlarm, newBuilder.alarmListener);
|
|
|
}
|
|
|
if (builder.isVisibleSetting != newBuilder.isVisibleSetting || builder.settingListener != newBuilder.settingListener) {
|
|
|
- setHomeVisible(newBuilder.isVisibleSetting);
|
|
|
+ setSettingVisible(newBuilder.isVisibleSetting);
|
|
|
mapClickListener(buttonSetting, newBuilder.settingListener);
|
|
|
}
|
|
|
if (builder.isVisibleClose != newBuilder.isVisibleClose || builder.closeListener != newBuilder.closeListener) {
|
|
|
- setHomeVisible(newBuilder.isVisibleClose);
|
|
|
- mapClickListener(buttonHome, 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);
|
|
|
}
|
|
|
|
|
|
builder = newBuilder;
|
|
|
@@ -521,6 +529,8 @@ public class ActionBarManager {
|
|
|
private boolean isVisibleAlarm = false;
|
|
|
private boolean isVisibleSetting = false;
|
|
|
private boolean isVisibleClose = false;
|
|
|
+ private boolean isVisibleTextButton = false;
|
|
|
+ private int text = R.string.empty_string;
|
|
|
|
|
|
private IActionBarListener.Click backListener = null;
|
|
|
private IActionBarListener.Click bookmarkListener = null;
|
|
|
@@ -534,6 +544,7 @@ public class ActionBarManager {
|
|
|
private IActionBarListener.Click alarmListener = null;
|
|
|
private IActionBarListener.Click settingListener = null;
|
|
|
private IActionBarListener.Click closeListener = null;
|
|
|
+ private IActionBarListener.Click textButtonListener = null;
|
|
|
|
|
|
public Builder() {
|
|
|
}
|
|
|
@@ -628,30 +639,62 @@ public class ActionBarManager {
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 홈
|
|
|
+ *
|
|
|
+ * @return Builder
|
|
|
+ */
|
|
|
public Builder home(IActionBarListener.Click homeListener) {
|
|
|
isVisibleHome = true;
|
|
|
this.homeListener = homeListener;
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 알람
|
|
|
+ *
|
|
|
+ * @return Builder
|
|
|
+ */
|
|
|
public Builder alarm(IActionBarListener.Click alarmListener) {
|
|
|
isVisibleAlarm = true;
|
|
|
this.alarmListener = alarmListener;
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 세팅
|
|
|
+ *
|
|
|
+ * @return Builder
|
|
|
+ */
|
|
|
public Builder setting(IActionBarListener.Click settingListener) {
|
|
|
- isVisibleAlarm = true;
|
|
|
+ isVisibleSetting = true;
|
|
|
this.settingListener = settingListener;
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 닫기
|
|
|
+ *
|
|
|
+ * @return Builder
|
|
|
+ */
|
|
|
public Builder close(IActionBarListener.Click closeListener) {
|
|
|
- isVisibleAlarm = true;
|
|
|
+ isVisibleClose = true;
|
|
|
this.closeListener = closeListener;
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 텍스트 버튼 (닫기 버튼 옆)
|
|
|
+ *
|
|
|
+ * @return Builder
|
|
|
+ */
|
|
|
+ public Builder textButton(@StringRes int stringId, IActionBarListener.Click textButtonListener) {
|
|
|
+ text = stringId;
|
|
|
+ isVisibleTextButton = true;
|
|
|
+ this.textButtonListener = textButtonListener;
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* UI 흰색 사용
|
|
|
*
|