没有操作栏的安卓活动1)在Android清单中更改主题2)创建自定义主题3) 动态删除操作栏

2022-08-31 12:39:57

我在我的应用程序中有不同的应用程序,并且在所有这些应用程序中,我都不希望.我找不到如何禁用它。我试图找到一个属性来应用它,但到目前为止,我没有找到任何东西。有人可以帮我吗?ActivitiesAction Barmain_activity.xml


答案 1

哈哈,我前一阵子也一直被困在那个时候,所以我很高兴我能帮助你找到一个解决方案,至少对我有用:)

您要做的是在值/样式中定义一个新样式.xml使其如下所示

<resources>
    <style name = "AppTheme" parent = "android:Theme.Holo.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

    <style name = "NoActionBar" parent = "@android:style/Theme.Holo.Light">
        <item name = "android:windowActionBar">false</item>
        <item name = "android:windowNoTitle">true</item>
    </style>

</resources>

只有NoActionBar风格适合您。最后,您必须在AndroidManifest中将is设置为应用程序的主题.xml因此它看起来像这样

<application
    android:allowBackup = "true"
    android:icon = "@drawable/ic_launcher"
    android:label = "@string/app_name"
    android:theme = "@style/NoActionBar"   <!--This is the important line-->
    >
    <activity
    [...]

我希望这有帮助,如果没有,请告诉我。


答案 2

有多种方法可以做到这一点。

1)在Android清单中更改主题

在应用程序元素下方,您将找到主题标签。用这个替换它 -

android:theme="@android:style/Theme.NoTitleBar"

如果您使用的是 AppCompat,请使用 .@android:style/Theme.AppCompat.NoActionBar

这将为所有活动设定主题。如果您不需要特定活动中的操作栏,请在活动容器中设置主题,即

<activity android:theme="@android:style/Theme.NoTitleBar" ...>

您也可以在样式中设置主题,并在以后使用它。android:theme="@android:style/Theme.NoTitleBar"


2)创建自定义主题

将其添加到res/values/styles.xml

<style name="NoActionBar" parent="@android:style/Theme.Holo.Light">
     <item name="windowActionBar">false</item>
     <item name="android:windowNoTitle">true</item>
</style>

,然后在清单中将其设置为活动的主题:

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

3) 动态删除操作栏

设置内容视图之前将此代码放在方法中onCreate -

getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
getActionBar().hide();

如果您使用的是支持库,请使用 .getSupportActionBar()


推荐