getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
mDrawerToggle = new ActionBarDrawerToggle(this,
mDrawerLayout,
R.drawable.ic_drawer,
R.string.open_drawer,
R.string.close_drawer
);
mDrawerLayout.setDrawerListener(mDrawerToggle);
这是我的代码的一部分,我用来设置导航抽屉和应用程序图标来切换它。
我很困惑,为什么setDrawerListener
在构造DrawerToggle
对象时已经在构造函数中指定了DrawableLayout
。
其次,为什么在我们实际上没有启用它时需要setDisplayHomeUpEnabled
。没有它,为什么不显示ic_drawer?
感谢。
答案 0 :(得分:1)
来自文档link
ActionBarDrawerToggle可以直接用作DrawerLayout.DrawerListener,或者如果您已经提供了自己的侦听器,请调用您自己的每个侦听器方法。
所以setDrawerListener
方法用于设置抽屉监听器,它可以是自定义监听器,也可以使用ActionBarDrawerToggle
对象,因为它已经实现了DrawerLayout.DrawerListener
。
设置setDisplayHomeUpEnabled
正在显示<在您的操作栏中签名,但在使用导航栏时,它会显示三行。
这就是它的实施方式。