- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在同一 Activity 中根据用户输入将工具栏中的汉堡包图标更改为向上图标(“<”)。
这是我的工具栏:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:titleTextAppearance="@style/ToolbarTitle">
关于 MainActivity#onCreate
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
setSupportActionBar(toolbar);
}
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
这将显示一个汉堡包图标,尽管文档指出“设置是否应将主页显示为“向上”示能”。 https://developer.android.com/reference/android/support/v7/app/ActionBar.html#setDisplayHomeAsUpEnabled(boolean)
在我的事件回调中,我调用了
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE);
但是它不显示向上图标;相反,汉堡包图标仍然显示。我很困惑,因为它看起来确实与文档冲突。有什么方法可以根据用户事件在同一 Activity 中的工具栏中的汉堡包图标和向上图标之间切换?
这是我对 gradle 中支持库的引用:
compile 'com.android.support:support-v4:22.1.0'
compile "com.android.support:appcompat-v7:22.1.0"
还值得注意的是,我的 MainActivity extends AppCompatActivity
最佳答案
在 AppCompt 22 中,他们搞砸了主题。还有 getSupportActionBar().setDisplayHomeAsUpEnabled(true);现在不再做任何事情了。除非您支持旧版,否则我强烈建议您不要使用 setSupportActionbar
并直接在工具栏上执行所有调用。这是现在处理它的正确方法。
要修复主题错误,请将 navigationIcon 添加到您的主题中。您也可以直接在工具栏上执行此操作,但是您必须根据具体情况进行处理。
<style name="Theme.MyApp.Base" parent="Theme.AppCompat.Light.NoActionBar" >
<item name="navigationIcon">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>
</style>
您的下一个要使用 ActionBarDrawerToggle使用您的抽屉导航,V7 不是 V4。这真是个愚蠢的名字,因为它现在只是应该与工具栏一起使用。我不会在这里向您展示如何设置它,因为其他地方有很多示例。
您需要在刚刚创建的 drawerToggle 上setToolbarNavigationClickListener
。当你的切换被停用时,这个监听器将被调用,我将在这之后讨论。在这里我只使用 onBackPressed()
,如果用户单击 navigationIcon 也就是后退箭头,您的 Activity 上的一个方法。
drawerToggle.setToolbarNavigationClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
现在可以非常轻松地在两者之间动态切换。如果您想要显示汉堡包图标并控制您的抽屉导航,则 drawerToogle.setDrawerIndicatorEnabled(true);
。如果您希望它显示 navigationIcon 并在按下时调用上述监听器,请调用 drawerToogle.setDrawerIndicatorEnabled(false);
。
关于android - 如何在 Appcompat 22 中从汉堡包图标动态更改为向上图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30065779/
我需要将抽屉导航图标(汉堡包)从操作栏移动到选项卡布局,以使其看起来像提供的示例。那应该在列表滚动上执行。是否有可能将 View 从操作栏移动到选项卡布局? 操作栏 预期结果 最佳答案 您可以像这样在
我一直在寻找这个问题很长一段时间,但找不到任何解决方案。 我想实现这种按钮,当抽屉关闭时,它看起来像一个汉堡包抽屉导航按钮。但是当它打开时,图标会动画并转换为“后退按钮”,如图所示。 最佳答案 那是
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-top
我对 html、css、js 和 bootstrap 4 还很陌生。我正在尝试建立一个网站来练习我的技能。我终于设法改变了我的 bootstrap 4 导航栏的颜色、文本、字体大小等,但是当我缩小时,
我想为我的导航栏设置自定义颜色 (#5f788a),但是,据我所知,为了在移动版本中使用切换菜单,导航栏类必须是 navbar-light或 navbar-dark(根据 Bootstrap)。当然,
只是想知道是否有任何方法可以调整 Bootstrap 的导航栏切换器图标的大小? 我使用 .navbar-dark 主题作为模板,尺寸如下: .navbar-dark { background-c
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this q
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 2年前关闭。 Improve t
我正在使用 bootstrap 4 构建这个导航栏。 导航栏工作正常,但有一个问题我无法自己解决。 在折叠时,汉堡包图标显示两行而不是三行。我不确定汉堡包为什么会这样出现,但我确定它与伪元素有关。 我
我是一名优秀的程序员,十分优秀!