|
|
@@ -157,7 +157,7 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
|
|
|
addDrawerLayoutAnimation();
|
|
|
|
|
|
allMenuDriver = new AllMenuDriver(this, drawerView, event -> {
|
|
|
- final FragmentBase fragment = (FragmentBase) getSupportFragmentManager().findFragmentById(R.id.container_main);
|
|
|
+ final FragmentBase fragment = getCurrentFragment();
|
|
|
if (null != fragment) {
|
|
|
fragment.onMenuEvent(event);
|
|
|
}
|
|
|
@@ -330,9 +330,13 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private FragmentBase getCurrentFragment() {
|
|
|
+ return (FragmentBase) getSupportFragmentManager().findFragmentById(R.id.container_main);
|
|
|
+ }
|
|
|
+
|
|
|
private boolean exitToBack() {
|
|
|
// fragment 가 있다면.
|
|
|
- final FragmentBase fragment = (FragmentBase) getSupportFragmentManager().findFragmentById(R.id.container_main);
|
|
|
+ final FragmentBase fragment = getCurrentFragment();
|
|
|
if (null != fragment) {
|
|
|
return fragment.onBackPressed();
|
|
|
}
|
|
|
@@ -382,10 +386,9 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
|
|
|
public void openDrawer() {
|
|
|
if (false == isDrawerOpen()) {
|
|
|
drawerLayout.openDrawer(Gravity.END);
|
|
|
- allMenuDriver.onOpen();
|
|
|
+ allMenuDriver.onDrawerOpenStart();
|
|
|
+ getCurrentFragment().onDrawerOpenStart();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -394,7 +397,8 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
|
|
|
public void closeDrawer() {
|
|
|
if (isDrawerOpen()) {
|
|
|
drawerLayout.closeDrawer(Gravity.END);
|
|
|
- allMenuDriver.onClose();
|
|
|
+ allMenuDriver.onDrawerCloseStart();
|
|
|
+ getCurrentFragment().onDrawerCloseStart();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -413,9 +417,10 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
|
|
|
*
|
|
|
* @param isVisible
|
|
|
*/
|
|
|
- public void setVisibleTextButton(boolean isVisible){
|
|
|
+ public void setVisibleTextButton(boolean isVisible) {
|
|
|
allMenuDriver.setVisibleTextButton(isVisible);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* drawer 애니메이션 적용
|
|
|
*/
|
|
|
@@ -423,13 +428,31 @@ public abstract class ActivityBase extends AppCompatActivity implements IHelperP
|
|
|
drawerLayout.addDrawerListener(new DrawerLayout.SimpleDrawerListener() {
|
|
|
@Override
|
|
|
public void onDrawerSlide(View drawerView, float slideOffset) {
|
|
|
+ /*
|
|
|
+ * 메인 스크린 0 ~ -1/2W 이동
|
|
|
+ */
|
|
|
int half = drawerView.getWidth() >> 1;
|
|
|
float moveFactor = half * slideOffset;
|
|
|
containerMain.setTranslationX(-moveFactor);
|
|
|
|
|
|
+ /*
|
|
|
+ * 메뉴 내부 -1/2W ~ 0 이동
|
|
|
+ */
|
|
|
float menuOffset = -(half - moveFactor);
|
|
|
allMenuDriver.getContainer().setTranslationX(menuOffset);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onDrawerOpened(View drawerView) {
|
|
|
+ allMenuDriver.onDrawerOpenEnd();
|
|
|
+ getCurrentFragment().onDrawerOpenEnd();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onDrawerClosed(View drawerView) {
|
|
|
+ allMenuDriver.onDrawerCloseEnd();
|
|
|
+ getCurrentFragment().onDrawerCloseEnd();
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|