android - "Back button"使用 getSupportActionbar 和 appcompat v7 工具栏

标签 android android-appcompat android-toolbar

我正在使用 Appcompat V7 库中的新工具栏,并且正在制作一个带有抽屉导航和 fragment 的应用程序。

在某些 fragment 中,我不想显示汉堡包图标,而是显示箭头...很好,我是这样做的:

mDrawerToggle.setDrawerIndicatorEnabled(false);

mDrawerToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);

getSupportActionBar().setHomeAsUpIndicator(R.drawable.abc_ic_ab_back_mtrl_am_alpha);

我的问题是:我需要如何或在哪里设置主页按钮监听器,或者我需要听什么“返回”按钮? 我想调用 main backpressed 方法并用汉堡图标设置抽屉导航图标..

最佳答案

onCreate()中添加这个方法:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

然后覆盖 onOptionItemSelected() 如下:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

关于android - "Back button"使用 getSupportActionbar 和 appcompat v7 工具栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27230827/

相关文章:

java - Android - 布局性能 : Programmatic vs XML

android - 如何动态填充 fragment 布局?

android - appcompat-v7 v21 找不到类

android - Appcompact DialogFragment单选复选标记颜色

android - AppBarLayout 在 Toolbar 下方滚动内容

android - 如何使用 FFMPEG 命令

java - 如何在 Android 上读写 UTF-8 到磁盘?

android - 每次重建时,库中的 AppCompat-v7 都会将最低 sdk 版本更改为 7。我怎样才能永久修复它?

安卓工具栏 : Centre align a TextView in a toolbar having a menu

android - 以编程方式更改 AppBarLayout 主题