Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于android';s导航抽屉,为什么需要设置DisplayHomeAsupEnabled_Android_Android Actionbar_Navigation Drawer - Fatal编程技术网

对于android';s导航抽屉,为什么需要设置DisplayHomeAsupEnabled

对于android';s导航抽屉,为什么需要设置DisplayHomeAsupEnabled,android,android-actionbar,navigation-drawer,Android,Android Actionbar,Navigation Drawer,这是我用来设置导航抽屉和应用程序图标的代码的一部分。 我很困惑,在构建DrawerToggle对象时,为什么需要setDrawerListener,我们已经在构造函数中指定了DrawableLayout。 其次,当我们实际上没有启用它时,为什么需要setDisplayHomeUpEnabled。如果没有它,为什么不显示ic_抽屉 谢谢。来自文档 ActionBarDrawerToggle可以直接用作DroperLayout.DroperListener,或者如果您已经提供了自己的侦听器,则可以从

这是我用来设置导航抽屉和应用程序图标的代码的一部分。 我很困惑,在构建
DrawerToggle
对象时,为什么需要
setDrawerListener
,我们已经在构造函数中指定了
DrawableLayout
。 其次,当我们实际上没有启用它时,为什么需要
setDisplayHomeUpEnabled
。如果没有它,为什么不显示ic_抽屉

谢谢。

来自文档

ActionBarDrawerToggle可以直接用作DroperLayout.DroperListener,或者如果您已经提供了自己的侦听器,则可以从自己的方法调用每个侦听器方法

所以
setDrawerListener
方法用于设置抽屉侦听器,它可以是自定义的,也可以使用
ActionBarDrawerToggle
对象,因为它已经实现了
DrawerLayout.DrawerListener

设置
setDisplayHomeUpEnabled
在操作栏中显示
这就是它的实现方式。

对于其他任何人来说,如果他们也因为让基本导航抽屉工作的复杂而混乱的代码而感到窒息,可以检查一下
        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);