在特定活动上隐藏或移除操作栏 | Android

23

如何在特定的活动中删除操作栏而不是整个应用程序,例如我有注册活动,我想在该活动中删除操作栏?


1
https://developer.android.com/reference/android/app/ActionBar.html#hide() - CommonsWare
6个回答

65

在你的AndroidManifest.xml文件中,为你的活动使用NoActionBar主题,像这样:

<activity android:name=".SignUpActivity"
          android:theme="@style/AppTheme.NoActionBar"/>

并且在你的 styles.xml

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

1
这应该是被接受的答案。它符合开发者接受的指南@Yessine Mahdouani - Zephania Mwando

26

从您的活动内部:

getActionBar().hide();
或者
getSupportActionBar().hide();

我建议迁移到ToolBar,这是用于相同目的的新Android API。ToolBar的主要优点是您可以像处理其他视图一样处理它,它保证了更灵活的方法。


为什么要在活动中加载操作栏,然后再隐藏它呢?对我来说似乎有些浪费。最好一开始就不要将其包含在布局中。 - Jon Adams
因为如果您使用通用的根布局,您可以选择在每个地方都使用ActionBar以重用相同的代码。 - firegloves

4

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>


1
这肯定会在所有活动中移除ActionBar,这不是他想要的。 - The Only Smart Boy

3
如果你有一个ActionBar,你可以使用getActionBar().hide(); 如果你有一个SupportActionBar,你可以使用getSupportActionBar().hide();

1

在特定的Activity上删除Action Bar,进入Activity java文件,将您的Activity类扩展为 Activity 并去掉AppCompatActivity,然后进入xml文件并选择主题 NoTitleBar 或进入Manifests文件选择您的Activity并在Activity上添加主题 android:theme =“@android:style/Theme.NoTitleBar”/>


0

对于 Kotlin,您可以使用 supportActionBar?.hide()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接