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

从ICS操作栏切换到Lollipop工具栏后缺少向上导航图标

全流觞
2023-03-14

我有一个使用动作条和导航抽屉的有很多碎片的活动。它已启用“home as up”。我已经实现了正确的逻辑,只有顶层的片段显示动作条抽屉切换图标,其他的片段显示箭头。我通过以下方式实现了这一点:

mDrawerToggle.setDrawerIndicatorEnabled(false);
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, mDrawerList);

现在旧的v4支持库ActionBarDrawerToggle被弃用。我已经切换到v7版本和新的toolbar以获得材质设计外观。之后,当抽屉打开时,“向上”箭头正确显示,但当执行上述代码时,它完全消失。

是支持库中的一个bug还是我必须做一些不同的事情来显示“向上”箭头而不是抽屉指示器?

共有1个答案

谈萧迟
2023-03-14

您是否尝试使用GetV7DrawerToggleDelegate().GetThemeUpIndicator()获取主题化指示器,并在禁用该指示器后设置该指示器?

因为当指示器被禁用时,ActionBarDrawerToggle会尝试设置上一个指示器。

来自ActionBarDrawerToggle源:

public void setDrawerIndicatorEnabled(boolean enable) {
    if (enable != mDrawerIndicatorEnabled) {
        if (enable) {
            setActionBarUpIndicator((Drawable) mSlider,
                    mDrawerLayout.isDrawerOpen(GravityCompat.START) ?
                            mCloseDrawerContentDescRes : mOpenDrawerContentDescRes);
        } else {
            setActionBarUpIndicator(mHomeAsUpIndicator, 0);
        }
        mDrawerIndicatorEnabled = enable;
    }
}

编辑:

由于不推荐使用ActionBarActivity,您应该使用GetDrawerToggleDelegate().GetThemeUpIndicator()

 类似资料:
  • 不久前,我有一个导航抽屉在工作,但后来我决定将其更新为使用工具栏,而不是默认的支持操作栏。现在,当我点击汉堡包菜单时,导航抽屉没有打开。然而,我可以从左向右滑动并打开它。问题是,它现在是空的。 值-v21/样式。xml 导航U抽屉。xml ctivity.java 我知道NavDrawerItem看起来有点不稳定,但我已经验证了它可以与旧的导航抽屉(前工具栏)一起工作,它真正做的是用图标填充列表视

  • 我已经设置了一个左右两侧的导航抽屉。除了一件事,一切都很好。 我希望我的另一个动作栏项目切换右边的抽屉菜单。正常的左边动作栏切换效果很好。谷歌Android应用程序通知面板是我希望动作模仿的。 下面是我用来设置右侧切换的代码(现在它在单击时强制关闭): 如果有人知道怎么做,如果你能让我知道就太好了! 谢谢

  • 我正在尝试新的工具栏组件,但导航图标出现了一些问题。我想实现一个用于反向导航的自定义图标: 在我的清单中,我为我的活动设置了一个父级: 我这样声明工具栏: 然后在“活动”中,我将工具栏配置为: 后退图标不是我用setNavigationIcon()设置的!无论我给这个方法的绘图是什么,导航图标总是后面的箭头。 我试图删除清单中的父关联,但唯一的效果是(显然)阻止按钮返回。 相反,如果我想要默认的后

  • 在向应用添加导航栏和工具栏之前,我们需要决定使用哪种布局。 Framework7在这方面很自由,有3种不同类型的导航栏/工具栏布局,它们对应着在页面/视图中的不同位置。 静态布局 静态布局可能是最少使用的布局。在这种情况下,导航栏和工具栏只是可以滚动的页面内容的一部分,每个页面都有它自己的导航栏和工具栏: <body> ... <div class="views"> <div cl

  • 请帮帮我,我已经绕了几个小时了!我设置了一个抽屉菜单和一个工具栏(见下面的代码),我无法让返回/回家功能工作,因为单击它会导致打开抽屉。 这是我的主要活动,在OnCreate期间调用。 以下是我片段的OnCreateView方法中的内容。。。 抽屉菜单工作正常。更改工具栏的标题工作正常。汉堡包图标在片段中更改为向后箭头就好了...然而,每次我按下向后箭头,它都会打开抽屉...有点像抽屉的听众在向后

  • 我在试着做一个Android发射器。我想实现一个完全透明的状态栏和导航栏,这里是我的主题xml文件。 最后两项不管用,Lollipop上还有影子。 我想实现的(新星发射器): 如何让状态栏和导航栏“透明”而不是“半透明”?