隐藏或删除特定活动的操作栏 |安卓
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应用程序的运行时隐藏(或删除)动作栏[重复]