web-dev-qa-db-fra.com

Supprimer la barre de titre de l'application Android

Je sais que cette question a été posée des millions de fois mais quelle que soit la méthode que j'utilise ne me convient pas.

Si j'utilise 

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

dans le fichier manifeste, le thème entier de l'application change. Si je mets 

requestWindowFeature(Window.FEATURE_NO_TITLE);

dans les activités onCreate, il apparaît brièvement lors du démarrage d'une application. 

Btw je n'ai pas de thème sélectionné, en utilisant simplement Android standard.

22
sparrkli

Vous ne comprenez pas ce que vous entendez par "thème entier des modifications apportées à l'application". Pour les périphériques API de niveau 11+, vous devriez probablement utiliser @Android:style/Theme.Holo.NoActionBar.

27
CommonsWare

Si vous ajoutez le thème à l'application, il s'applique à l'ensemble de l'application.

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

Vous devez l'ajouter à la déclaration d'activité.

<activity
    Android:name=".YourActivity"
    Android:theme="@Android:style/Theme.NoTitleBar"/>
17
Aswin Rajendiran

Pour supprimer la barre de titre de votre application dans Android Studio

  1. Ouvrir res> values> styles.xml file
  2. Remplacez votre code par:

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

Ouvrez votre fichier style.xml, créez un nouveau style comme ci-dessous . Vous choisissez votre propre nom et définissez le parent comme ci-dessous

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

Dans votre fichier AndroidManifest.xml, définissez le nom du thème pour l'activité spécifique que vous ne souhaitez pas afficher dans la barre et que vous avez terminé.

<activity  Android:theme ="@style/your_own_name" >
</activity>
10
user3821354

C'est ce qui a fonctionné pour moi 

 Android:theme="@style/Theme.AppCompat.NoActionBar">
4
Bhanz

Pour Android 8 et versions ultérieures. Utilisez ceci dans le fichier de thème de votre application. J'ai modifié ma valeur par défaut dans 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>
1
Fawaz

lorsque vous créez un nouveau projet dans Android, le thème par défaut appliqué à la barre de titre est appliqué. mais si vous souhaitez supprimer ou appliquer un autre thème à l'ensemble de votre application, vous pouvez définir comme ci-dessous au niveau de l'application:

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

mais si vous souhaitez appliquer un thème uniquement à des écrans spécifiques, vous pouvez définir comme ci-dessous au niveau de l'activité:

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

Si vous avez créé un thème personnalisé dans styles.xml, vous pouvez le faire:

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

Pour supprimer la barre d'action et le titre, ajoutez-les à styles.xml:

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

Ensuite, dans votre AndroidManifest.xml, vous pouvez utiliser votre thème personnalisé avec ou sans la barre d’action.

<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...
0
Aaron Thompson

À l'intérieur d'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>

et assurez-vous que votre classe s'étend à l'activité

0
Sam