【发布时间】:2015-06-24 22:33:26
【问题描述】:
我通过在抽屉布局中包含一个片段来制作导航栏。一切正常,抽屉从左侧滑出,一切正常。
第一次打开应用程序时,我看到一个汉堡图标。当我将其完全打开并重新关闭时,汉堡图标变为左箭头。
我无法弄清楚为什么会发生这种情况。
代码如下:
活动:
// Drawer
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
// toolbar
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Blah");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// navigation drawer
NavigationDrawerFragment navigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
navigationDrawerFragment.setUp(R.id.navigation_drawer, drawerLayout, toolbar);
上面调用的setUp函数:
public void setUp(int fragmentId, DrawerLayout drawerLayout, Toolbar toolbar) {
this.navigationDrawerView = getActivity().findViewById(fragmentId);
this.drawerLayout = drawerLayout;
actionBarDrawerToggle = new ActionBarDrawerToggle(getActivity(), drawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close) {
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
getActivity().invalidateOptionsMenu();
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerOpened(drawerView);
getActivity().invalidateOptionsMenu();
}
};
drawerLayout.setDrawerListener(actionBarDrawerToggle);
drawerLayout.post(new Runnable() {
@Override
public void run() {
actionBarDrawerToggle.syncState();
}
});
}
P.S:我是 android 编程新手。我遵循了一个 youtube 教程来实现这一点。我很清楚发生了什么,但请(如果可能)稍微描述一下,以便帮助我理解它。
【问题讨论】:
标签: android android-layout android-fragments navigation-drawer