删除应用程序标题栏android



我知道这个问题已经被问了一百万次了,但无论我用哪种方法都对我不利。

如果我使用

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

在清单文件中,应用程序的整个主题都发生了更改。如果我放

requestWindowFeature(Window.FEATURE_NO_TITLE);

在onCreate活动中,它在启动应用程序时会很快显示出来。

顺便说一句,我没有选择任何主题,只是使用标准的android。

您所说的"应用程序更改的整个主题"是什么意思还不清楚。对于API 11级以上的设备,您可能应该使用@android:style/Theme.Holo.NoActionBar

如果将主题添加到应用程序中,它将应用于整个应用程序。

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

您必须将其添加到活动声明中。

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

在安卓工作室中从应用程序中删除标题栏

  1. 打开res>values>styles.xml文件
  2. 将您的代码替换为:

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    

打开style.xml文件,创建一个新样式,如下所示。您可以选择自己的名字,并将父项设置为以下

<style name="your_own_name" parent="Theme.AppCompat.Light.NoActionBar">
</style>

在你的AndroidManifest.xml文件中,为你不希望栏显示的特定活动设置主题名称,你就完成了

<activity  android:theme ="@style/your_own_name" >
</activity>

这就是我的工作原理

 android:theme="@style/Theme.AppCompat.NoActionBar">

当你在android中创建一个新项目时,你会在你的项目上应用默认主题,它有标题栏。但是如果你想为你的整个应用程序删除或应用一些其他主题,那么你可以在应用程序级别定义如下:

<application
        android:name="com.mycomp.myproj.MainApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.Sherlock" >

但如果你想只在某些特定的屏幕上应用一些主题,那么你可以在活动级别定义如下:

<activity
            android:name="com.mycomp.myproj.MainActivity"
            android:label="@string/app_name" 
            android:theme="@style/AppTheme">

支持android 8及以上版本。在你的应用主题文件中使用它。我修改了res/styles.xml:中的默认值

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:background">@color/white</item>
</style>

内部AndroidManifest

 <activity
            android:name=".activity.HomeMenu"
            android:screenOrientation="nosensor"
            android:theme="@android:style/Theme.Light.NoTitleBar">
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

并确保您的类扩展到活动

如果您在styles.xml中制作了一个自定义主题,您可以这样做:

<style name="AppTheme" parent="android:Theme.Material.Light">
    <!-- Override the android colour scheme etc. -->
    <item name="android:colorPrimary">@color/color_primary</item>
</style>

要删除操作栏和标题,请添加到styles.xml:

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

然后在你的AndroidManifest.xml中,你可以使用你的自定义主题,无论是否使用动作栏

<application
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"> <---- With action bar
    <activity
        android:theme="@style/AppTheme.NoActionBar"> <---- No action bar
        <intent-filter>
etc...

相关内容

  • 没有找到相关文章

最新更新