목록에 새 DrawerLayout을 사용하려고합니다. 문제는 내가 서랍 수신기를 설정했지만, 액션 바에있는 표시기는 여전히 그릴 3 줄 아이콘 대신 화살표 아이콘입니다. 다음은 OnCreate 함수입니다.Android DrawerLayout에 올바른 표시기 아이콘이 표시되지 않습니다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_front_page);
// Swiping Pager set up
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
// Sliding Drawer set up
mHabitContract = new HabitsContract(this);
mDrawerLayout = (DrawerLayout) findViewById(R.id.front_page_layout);
mDrawerList = (ListView) findViewById(R.id.habit_list);
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
mDrawerList.setAdapter(new HabitAdapter(mHabitContract.GetHabitItems(), this));
// Fixme: Indicator image doesn't show up
mDrawerToggle = new ActionBarDrawerToggle(
this, /* host Activity */
mDrawerLayout, /* DrawerLayout object */
R.drawable.ic_navigation_drawer, /* nav drawer image to replace 'Up' caret */
R.string.drawer_open, /* "open drawer" description for accessibility */
R.string.drawer_close /* "close drawer" description for accessibility */
) {
public void onDrawerClosed(View view) {
//getActionBar().setTitle(mTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
public void onDrawerOpened(View drawerView) {
//getActionBar().setTitle(mDrawerTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
// Action Bar set up
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayShowHomeEnabled(true);
}
아무도 도와 줄 수 있습니까?
업데이트 : 문제점을 발견했습니다. 다음과 같이 onPostCreate 함수를 추가하면 작동합니다.
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
mDrawerToggle.syncState();
}
http://www.coderzheaven.com/2013/06/28/navigation-drawer-android/ –
완벽하게 정상적으로 실행되는 샘플 앱을 다운로드했습니다. 하지만 내 코드는 거의 동일하므로 문제가 무엇인지 실제로 알지 못합니다. – zhengbli
다운로드 한 앱에서 코드를 가져 와서 요구 사항에 맞게 변경하십시오. –