뷰페이저를 사용중에 특정 페이지만 툴바메뉴가 보였으면 좋겠다고 하는 미치광이들이 아주 간혹 있습니다.


이런 미치광이들을 상대하는 개발자들을 위해 공유드립니다


                                        


1번1번  2번





우선 findViewById메서드로 Toolbar객체 DrawerLayout객체를 만들어 줍니다.

/**
* 1번 좌측메뉴, 좌측슬라이드 노출되도록 설정
*/
protected void setToolbarVisibleLeftMenu() {
if (mToolbar != null && mDrawerLayout != null) {
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(true);
// 상단 툴바를 이용하여 좌측 메뉴 열기 / 닫기 설정
mActionBarDrawerToggle = new ActionBarDrawerToggle((Activity) getNowContext(), mDrawerLayout, mToolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
// Drawer Toggle Object Made
mDrawerLayout.setDrawerListener(mActionBarDrawerToggle); // Drawer Listener set to the Drawer toggle
mActionBarDrawerToggle.syncState();
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
}
}

/**
* 2번 좌측메뉴, 좌측슬라이드 노출되지않도록 설정
*/
protected void setToolbarGoneLeftMenu() {
if (mToolbar != null && mDrawerLayout != null) {
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
}
}


728x90
반응형

+ Recent posts