是否可以从操作栏中删除主页按钮



在我的主要活动中,在无法返回的地方,我想删除操作栏中的应用程序"主页"按钮。

我认为这让用户感到困惑,他们仍然可以通过操作系统后退按钮退出应用程序。

浏览stackoverflow,我看到很多人问这个问题,但没有一个答案对我有效

  • 在android中删除操作栏中的左箭头
  • 从操作栏中删除后退箭头按钮的步骤
  • 删除动作模式下的默认主页/向上按钮
  • 如何在操作栏中隐藏向上按钮
  • 如何删除v7工具栏后退按钮
  • 设置HomeAsUpEnabled(true)但隐藏后退按钮操作栏

答案通常很丰富,可以总结为以下内容:

ActionBar supportActionBar = getSupportActionBar(); //I target some low API
if(supportActionBar != null) {
supportActionBar.setDisplayShowHomeEnabled(false);
supportActionBar.setDisplayHomeAsUpEnabled(false);
supportActionBar.setHomeButtonEnabled(false);
supportActionBar.setHomeAsUpIndicator(null);
}

我尝试了它们的每一种组合,但都没有成功,无论是使用默认的ActionBar还是使用XML声明的compat-v7ToolBarsetSupportActionBar()

我也看不到任何问题适合现在重新命名的应用程序栏,用它来回答会更好。

这是我的活动清单:

<activity
android:name=".activity.WelcomeActivity"
android:logo="@drawable/ic_launcher"
android:label="@string/long_app_name"
android:launchMode="singleTop"/>

那么,现在有没有可能去掉这个烦人的无用之箭呢?

在styles.xml:中创建新样式

<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>

将此样式设置为清单文件中的活动。要添加工具栏,请将其添加到布局文件中:

<android.support.v7.widget.Toolbar
android:background="@color/colorPrimary"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.Toolbar>

然后在Java类中:

Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

这将删除左上箭头。

只需将getSupportActionBar().setDisplayHomeAsUpEnabled(false)放入活动的onCreate中。

最新更新