当前位置: 首页 > 知识库问答 >
问题:

抽屉指示器不显示

吴靖
2023-03-14

我无法显示抽屉指示灯。目前,我要么什么都没有,要么”

我使用:

  • v4。小装置。抽屉布局
  • v7。应用程序。ActionBarDrawerToggle
  • 但是android。应用程序。ActionBar(不支持7)

以下是代码片段:

@Override
protected void onCreate(Bundle savedInstanceState)
{
    actionBar.setDisplayHomeAsUpEnabled(true); 
    actionBar.setHomeButtonEnabled(true);
    actionBar.setDisplayShowHomeEnabled(true);
    //I tried all combinations unsuccessfully
    ....
    drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawerLV = (ListView) findViewById(R.id.left_drawer);
    drawer_Linearlayout = (LinearLayout) findViewById(R.id.drawer_Linearlayout);

    drawerLV.setAdapter(new ArrayAdapter<String>(
            this,
            R.layout.layout_main_drawer_list_item,
            mDrawerItems));

    drawerLV.setOnItemClickListener(new ListView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            selectItem(position);
        }
    });

    drawerToggle = new ActionBarDrawerToggle(this, drawer, R.string.drawer_open,R.string.drawer_close) {
        @Override
        public void onDrawerClosed(View view) {
            actionBar.setTitle(mTitle);
    }
        @Override
        public void onDrawerOpened(View drawerView) {
            actionBar.setTitle(mDrawerTitle);
        }
    };
    drawerToggle.setDrawerIndicatorEnabled(true);
    drawer.setDrawerListener(drawerToggle);
}

共有3个答案

梁磊
2023-03-14

对不起,我之前的回答错了。认为这就是你需要的:

mDrawerToggle = new ActionBarDrawerToggle(
        this,                             
        mDrawerLayout,                 
        R.drawable.ic_drawer, /* The image drawable you're missing */          
        R.string.navigation_drawer_open,  
        R.string.navigation_drawer_close  

形象是定制的,也称为汉堡。

臧弘和
2023-03-14

我认为你还必须指定android. R.id.home它在onOptionsItemSelec使返回按钮可见:

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            //the onClick for your back button
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

你只需要使用actionBar。setDisplayHomeAsUpEnabled(true)

更新:

只是在谷歌上快速搜索了一下,看看这个:

在操作栏上显示后退按钮

试试我的答案。我想它会解决你的问题。

易骁
2023-03-14

我最终解决了我的问题。我忘记在Activity中添加以下回调:

protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    // Sync the toggle state after onRestoreInstanceState has occurred.
    drawerToggle.syncState();
}

顺便说一句,Lollipop升级了v7。应用程序。ActionBarDrawerToggle在导航抽屉打开或关闭时添加了一个很好的效果。我推荐它。

 类似资料:
  • 我有一些问题切换导航抽屉功能到较低级别片段上的功能。我读了这个线程来显示向上的指示器。但当按下按钮时,它将打开导航抽屉,而不是回到以前的片段。并且我不能将EditUserFragment中的操作栏标题设置为“编辑配置文件”。我正在使用Android Studio中提供的导航抽屉模板。 我有三个层次: 包含主页和配置文件项的导航抽屉的主活动 标题为“配置文件”的UserFragment EditUs

  • 我正在为我的应用程序实现一个导航抽屉。现在,除了一个小故障外,它工作正常。当我设置导航抽屉图标(ic_Drawer)来替换常规的“HomeAsUp”插入符号图标时,我仍然得到箭头。导航抽屉图标不显示。我已经实现了android开发者网站上的每一种方法。但它似乎不起作用。 以下是我的代码:

  • 我正在用最新的appcompat支持库实现Lollipop风格的导航抽屉,但问题是汉堡包图标从未显示。仅显示后退图标。 这是我的活动代码 这是我的样式文件 布局文件 在这两种情况下,只有返回箭头显示,我读了很多帖子,但似乎没有什么不同。任何帮助都将不胜感激。

  • 我想创建一个导航抽屉效果,但不是抽屉从左侧滑出,它必须在主视图的“后面”,因此滑动的项目是视图本身(即向右)-抽屉根本不移动,而是通过滑动主视图来“显示”。手指滑动(并点击汉堡图标)的动作与抽屉相同,只是显示效果不同。 主视图移动的方式与此处可以实现的方式相同 如何在抽屉布局左侧移动主要内容 但在我的例子中,我希望“抽屉”静态地位于主视图下方。 我通过叠加视图并使抽屉透明达到了预期效果——当然这意

  • 我已将导航抽屉连接到我的应用程序的主

  • 在sherlock actionbar中使用导航抽屉,但我无法让3行图标(像gmail一样)显示出来,而不是正常的向上按钮“<”。这是我的代码ic_drawer是gmail使用的3行图标