在我的主要活动中,在无法返回的地方,我想删除操作栏中的应用程序"主页"按钮。
我认为这让用户感到困惑,他们仍然可以通过操作系统后退按钮退出应用程序。
浏览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-v7ToolBar
和setSupportActionBar()
。
我也看不到任何问题适合现在重新命名的应用程序栏,用它来回答会更好。
这是我的活动清单:
<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中。