|
|
@@ -12,6 +12,7 @@ import android.os.Bundle;
|
|
|
import android.provider.Settings;
|
|
|
import android.support.annotation.NonNull;
|
|
|
import android.support.annotation.Nullable;
|
|
|
+import android.support.constraint.ConstraintLayout;
|
|
|
import android.support.v4.app.ActivityCompat;
|
|
|
import android.support.v4.view.ViewCompat;
|
|
|
import android.support.v4.view.ViewParentCompat;
|
|
|
@@ -32,8 +33,10 @@ import java.util.List;
|
|
|
import kr.co.zumo.app.R;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.MainContentsBean;
|
|
|
import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
|
|
|
+import kr.co.zumo.app.lifeplus.helper.NavigationBar;
|
|
|
import kr.co.zumo.app.lifeplus.helper.ScreenSizeHelper;
|
|
|
import kr.co.zumo.app.lifeplus.supervisor.AnimatorManager;
|
|
|
+import kr.co.zumo.app.lifeplus.util.ResourceUtil;
|
|
|
import kr.co.zumo.app.lifeplus.util.ViewUtil;
|
|
|
import kr.co.zumo.app.lifeplus.view.Event;
|
|
|
import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
|
|
|
@@ -57,6 +60,8 @@ public class MainDebugFragment extends FragmentBase<MainPresenter> implements IM
|
|
|
// private MainContentsSnapper snapper;
|
|
|
private ViewParent layoutCoordinator;
|
|
|
private View layoutNewbie;
|
|
|
+ private ViewGroup containerNavigationBar;
|
|
|
+ private ActionBarScroller actionBarScroller;
|
|
|
|
|
|
private RecyclerView.OnScrollListener scrollListener = new RecyclerView.OnScrollListener() {
|
|
|
@Override
|
|
|
@@ -81,6 +86,8 @@ public class MainDebugFragment extends FragmentBase<MainPresenter> implements IM
|
|
|
|
|
|
presenter.touch();
|
|
|
presenter.onScrolled(activePosition);
|
|
|
+
|
|
|
+ actionBarScroller.scroll(dy);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -98,6 +105,7 @@ public class MainDebugFragment extends FragmentBase<MainPresenter> implements IM
|
|
|
|
|
|
//int statusBarHeight = ResourceUtil.getStatusBarHeightManual();
|
|
|
indicator = findViewById(R.id.page_indicator);
|
|
|
+ containerNavigationBar = findViewById(R.id.container_navigation_bar);
|
|
|
contentsRecyclerView = findViewById(R.id.recycler_view_main);
|
|
|
contentsRecyclerView.addOnScrollListener(scrollListener);
|
|
|
|
|
|
@@ -116,6 +124,28 @@ public class MainDebugFragment extends FragmentBase<MainPresenter> implements IM
|
|
|
// snapper.attachToRecyclerView(contentsRecyclerView);
|
|
|
// }
|
|
|
|
|
|
+ // 상단 네비게이션바 설정
|
|
|
+ ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) containerNavigationBar.getLayoutParams();
|
|
|
+ layoutParams.topMargin = ResourceUtil.getStatusBarHeightManual();
|
|
|
+
|
|
|
+ NavigationBar navigationBar = new NavigationBar.Builder(getContext())
|
|
|
+ .logo(actionBar -> presenter.onNavigationClickLogo(actionBar))
|
|
|
+ .menu(actionBar -> presenter.onNavigationClickMenu(actionBar))
|
|
|
+ .search(actionBar -> presenter.onNavigationClickSearch(actionBar))
|
|
|
+ .build();
|
|
|
+ View navigationBarView = navigationBar.getView();
|
|
|
+ containerNavigationBar.addView(navigationBarView);
|
|
|
+
|
|
|
+ actionBarScroller = new ActionBarScroller(containerNavigationBar);
|
|
|
+
|
|
|
+ getHelper(ActionBarHelper.class).setStatusBarOpaqueColor();
|
|
|
+
|
|
|
+ navigationBarView.setTranslationY(-ResourceUtil.getDimension(R.dimen.action_bar_height_with_extra_space));
|
|
|
+ ObjectAnimator textViewAnimator = ObjectAnimator.ofFloat(navigationBarView, "translationY", 0f);
|
|
|
+ textViewAnimator.setDuration(900);
|
|
|
+ textViewAnimator.addListener(new AnimatorManager.SimpleListener());
|
|
|
+ AnimatorManager.getInstance().add(textViewAnimator);
|
|
|
+
|
|
|
debug();
|
|
|
|
|
|
}
|
|
|
@@ -174,12 +204,14 @@ public class MainDebugFragment extends FragmentBase<MainPresenter> implements IM
|
|
|
|
|
|
@Override
|
|
|
protected void defineActionBar(ActionBarHelper actionBarHelper) {
|
|
|
- actionBarHelper.begin()
|
|
|
- .logo(actionBar -> presenter.onNavigationClickLogo(actionBar))
|
|
|
- .menu(actionBar -> presenter.onNavigationClickMenu(actionBar))
|
|
|
- .search(actionBar -> presenter.onNavigationClickSearch(actionBar))
|
|
|
- .scroll()
|
|
|
- .show();
|
|
|
+// actionBarHelper.begin()
|
|
|
+// .logo(actionBar -> presenter.onNavigationClickLogo(actionBar))
|
|
|
+// .menu(actionBar -> presenter.onNavigationClickMenu(actionBar))
|
|
|
+// .search(actionBar -> presenter.onNavigationClickSearch(actionBar))
|
|
|
+// .scroll()
|
|
|
+// .show();
|
|
|
+
|
|
|
+ actionBarHelper.begin().hide();
|
|
|
|
|
|
/**
|
|
|
* 에니메이션 설정 가장 처음에 clear 해준다.
|