隐藏或删除特定活动的操作栏 |安卓

Posted

技术标签:

【中文标题】隐藏或删除特定活动的操作栏 |安卓【英文标题】:Hide or remove Action Bar on specific Activity | Android 【发布时间】:2017-05-21 12:59:59 【问题描述】:

如何删除特定活动上的操作栏,而不是针对所有应用程序,例如我有注册活动,我想为此活动删除操作栏

【问题讨论】:

developer.android.com/reference/android/app/… 【参考方案1】:

在您的 AndroidManifest.xml 中为您的 Activity 使用 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>

【讨论】:

这应该是公认的答案。它符合开发人员接受的准则@Yessine Mahdouani【参考方案2】:

在您的活动中:

getActionBar().hide();

getSupportActionBar().hide();

我建议迁移到 ToolBar,新的 Android API 用于相同的目的。 ToolBar 的主要好处是您可以像对待其他视图一样对待它,它保证为您提供更灵活的方法。

【讨论】:

为什么要在activity中加载action bar,然后隐藏呢?对我来说似乎是一种浪费。只是不要将它包含在布局中。 因为如果您使用通用的根布局,您可以选择让 ActionBar 随处可见以重用相同的代码。【参考方案3】:

<!-- 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>

【讨论】:

这肯定会删除所有活动中的ActionBar,这不是他想要的【参考方案4】:

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

【讨论】:

【参考方案5】:

删除特定 Activity 上的操作栏转到 Activity java 文件,您的 Activity 类扩展为 AppCompatActivity 删除 AppCompatActivity 并扩展为 Activity 并转到 xml 文件并选择主题NoTitleBar 或转到 Manifests 文件选择您的 Activity 并在您的 Activity 上添加主题 android:theme="@android:style/Theme.NoTitleBar"/>

【讨论】:

【参考方案6】:

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

【讨论】:

以上是关于隐藏或删除特定活动的操作栏 |安卓的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android应用程序的运行时隐藏(或删除)动作栏[重复]

在活动中永久隐藏导航栏

安卓 /android 手机 隐藏 状态栏 怎么操作啊

安卓11小窗模式下隐藏状态栏

onCreateOptionsMenu中的expandActionView永久删除或隐藏操作栏中的其他菜单项

怎么删除过去的项目