Android 没有应用程序图标的导航抽屉

Android Navigation Drawer Without App Icon

我有一个导航抽屉,在通用 "this button opens up the slide menu" 按钮(即三个水平线的按钮)旁边,无论我将应用程序图标设置为什么,都会出现在它旁边。我不能简单地将图像替换为空白图像,因为这样当您尝试打开应用程序时就没有应用程序图标了。有没有办法在不影响应用程序图标的情况下将其从导航抽屉中删除?我查看了 drawer_layout 中的代码以进行设置。 . .我似乎找不到将此图标添加到标题栏的位置。

这是我创建菜单的代码:

private void setupDrawer(){
    mTitle = mDrawerTitle = getTitle();
    mForumTitles = getResources().getStringArray(R.array.main_menu_array); 

    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);


    mDrawerList = (ListView) findViewById(R.id.left_drawer);

    // set a custom shadow that overlays the main content when the drawer opens
    mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
    // set up the drawer's list view with items and click listener
    mDrawerList.setAdapter(new ArrayAdapter<String>(this,
            R.layout.drawer_list_item, mForumTitles));
    mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

    // enable ActionBar app icon to behave as action to toggle nav drawer
    getActionBar().setDisplayHomeAsUpEnabled(true);
    getActionBar().setHomeButtonEnabled(true);


    // ActionBarDrawerToggle ties together the the proper interactions
    // between the sliding drawer and the action bar app icon
    mDrawerToggle = new ActionBarDrawerToggle(
            this,                  /* host Activity */
            mDrawerLayout,         /* DrawerLayout object */
            R.drawable.ic_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("Menu");
            invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
        }

        public void onDrawerOpened(View drawerView) {
            //getActionBar().setTitle(mDrawerTitle);

            invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
        }
    };
    mDrawerLayout.setDrawerListener(mDrawerToggle);
}

有什么想法吗?我将 post 代码的任何其他部分或 xml 必要的文件。

您可以在样式定义中隐藏操作栏中的图标。查看 this answer 了解如何操作。

您应该做的是将徽标添加为您的主页作为向上指示器,而不是 3 个条:

<item name="displayOptions">showHome|showTitle|homeAsUp</item>      
<item name="homeAsUpIndicator">R.drawable.icon</item>

你的样式,它的父级必须是 Theme.AppCompat

actionBarDrawerToggle.setDrawerIndicatorEnabled(false);

在我的例子中,导航按钮是不可见的,但仍然占据了这个位置,所以我设法通过上面的代码将它从工具栏中完全删除。以防万一,对于那些正在自定义工具栏和抽屉布局的人。