【问题标题】:Android Navigation Drawer Without App Icon没有应用程序图标的Android导航抽屉
【发布时间】:2015-05-22 18:50:41
【问题描述】:

我有一个导航抽屉,在通用“此按钮打开滑动菜单”按钮(三个水平线的那个)旁边,我将应用程序图标设置为出现在它旁边。我不能简单地将图像替换为空白图像,因为当您尝试打开应用程序时没有应用程序图标。有没有办法在不影响应用程序图标的情况下从导航抽屉中删除它?我查看了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);
}

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

【问题讨论】:

  • 你试过扩展ActionBarActivity吗?

标签: android android-layout navigation-drawer


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您应该做的是将徽标添加为您的主页,而不是 3 条:

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

    到您的样式,其父级必须是Theme.AppCompat

    【讨论】:

      【解决方案3】:
      actionBarDrawerToggle.setDrawerIndicatorEnabled(false);
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-20
        • 1970-01-01
        • 2020-12-06
        • 2017-05-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多