Comment supprimer la barre de titre dans Android Studio?


88

Dans mon application, il y a cette barre de titre en haut où se trouverait le menu de débordement, mais je n'ai pas besoin de paramètres et n'ai qu'un seul écran. Lorsque je change de thème comme décrit dans de nombreuses autres questions, j'obtiens l'ancien thème 2.2. Je veux avoir le thème moderne juste sans la barre en haut.

Réponses:


150

Accédez à styles.xml et changez .DarkActionBarpour.NoActionBar

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

devient

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

si les couleurs ne sont pas pertinentes pour votre application, vous pouvez opter pour

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

1
Fonctionne comme prévu. Cependant, le titre a également disparu lors de la visualisation de toutes les applications actives.
IAbstract

comment résoudriez-vous cela @IAbstract?
Pablo Biedma le

@PabloBiedma: Je ne sais pas.
IAbstract

60

Dans le fichier manifeste Modifier:

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

4
Bien que cela fonctionne, la modification du styles.xmlfichier peut être une meilleure option pour la plupart, car l'utilisation de cette méthode ignore toutes les valeurs qui peuvent avoir été définies AppThemedans le styles.xmlfichier. La solution ci-dessous qui remplace la classe parent par NoActionBardans le styles.xmlfichier préserve toutes les informations de style préexistantes qui ont été configurées.
Lemonseed

Dans ce cas, tout mon arrière-plan d'application devient noir
Sajid khan

24
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

fonctionne onCreate()lorsque mis avant setContentView()est invoqué.

sinon ça plante


6
Cela provoque le blocage de l'application. Je mets la ligne entre super.onCreate.....et setContentView..... et ça plante
Nalorin

Ce n'est pas la bonne façon de procéder. M. Torres l'a bien expliqué.
Jithin Pavithran

16

Dans le fichier styles.xml , remplacez DarkActionBar par NoActionBar

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>


13

Vérifie ça

 ActionBar actionBar = getSupportActionBar();
    actionBar.hide();

C'est du code de travail pour masquer la barre par un programme lui-même. Peut être placé dans le constructeur onCreate(...)après les lignes super.onCreate(..)et setContentView(...)pour masquer la barre juste après le démarrage du programme.
Milan Kerslager

9

Cela fonctionne pour moi

getSupportActionBar().hide();

7

Dans le fichier manifeste, modifiez ceci:

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

6

Cela fonctionnait pour moi sur l' values/styles.xmlajout d'éléments:

       `<item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>`

6

Allez dans Projet -> app -> main -> res -> values ​​-> styles.xml

Modifiez cette ligne si vous souhaitez la supprimer pour chaque vue

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

à

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

si vous voulez le faire juste pour une vue, vous pouvez le changer dans vos données de manifeste. Accédez à Android -> manifestes -> AndroidManifest.xml. faire ce qui suit:

  1. Recherchez la vue pour laquelle vous souhaitez obtenir ce type de modification <activity android:name"...">
  2. Ajouter android:theme=""@style/Theme.AppCompat.NoActionBar"

4
  1. ouvrir styles.xml
  2. insérer
 <style name="no_title" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
 </style>

vous pouvez changer de nom = "---------"

  1. ouvrez Androidmaifest.xm

    trouver android: theme = "@ style / AppTheme" changé en android: theme = "@ style / no_title"

  2. cliquez sur sélectionner le thème dans la barre de menus (sa couleur verte près de MainActivity)

    • cliquez sur le thème du projet
    • cliquez sur no_title (sur votre côté droit)
    • cliquez sur OK

4

Pour débutant comme moi. Faites ce que je vous dis: à partir de votre projet Android.

app -> res -> valeurs -> style.xml

remplacer ce code

<resources>

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

</resources>

Prendre plaisir.


3

supprimer ce qui suit de activity_main.xml

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"/>

contactez-moi pour plus d'aide


2

faites ceci dans votre fichier manifeste:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

ça me fait passer à l'ancien design android (fond noir, zones de texte avec des bordures jaunes ...)
Jonas

essayez de android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"vous assurer que vous utilisez le niveau api min 14.
Rustam

Vous pouvez l'utiliser pour un thème clair: android: theme = "@ style / Theme.AppCompat.Light.NoActionBar">
XIII

2

this.requestWindowFeature (Window.FEATURE_NO_TITLE);

dans onCreate () fonctionne!


2

Essayez de changer les styles en NoActionBar si cela ne fonctionne pas, ajoutez ce code à votre activité principale

 protected void onCreate(Bundle savedInstanceState) {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
        setContentView(R.layout.activity_main);

    }

2

Cela fonctionne pour moi, j'espère que ce travail pour vous aussi

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_main);
}

1

Le meilleur moyen est d'utiliser la fonction de la barre d'action setTitle()si vous souhaitez afficher le logo ou avoir d'autres éléments dans votre actionBar mais que vous ne voulez pas voir le nom de l'application, écrivez ce code dans MainActivity.java ou partout où vous souhaitez masquer le titre onCreate:

android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setIcon(R.mipmap.full_white_logo_m); // display logo
actionBar.setTitle(""); // hide title

De cette façon, votre application n'aura aucune raison de planter.


1

Utilisez simplement setTitle(null)ci-dessus

toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

Le titre disparaîtra alors vous pourrez utiliser le logo de votre choix .....



1

J'ai fait face au même problème que vous, et je résous ce problème simplement en changeant la classe que j'ai étendue.

//you will get the app that does not have a title bar at the top.
import android.app.Activity;
public class MainActivity extends Activity
{}

//you will get the app that has title bar at top
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity
{}

J'espère que cela résoudra votre problème.


0

Dans AndroidManifest.xmlvotre application, vous trouverez android:themepar exemple défini sur@style/AppTheme

Maintenant, allez à styles.xml, recherchez la balise de style, assurez-vous que le nom est défini sur AppThemele même nom que dans manifest et définissez parent sur android:Theme.Holo.Light.NoActionBar (faites également cela dans styles (v21) si vous l'avez dans votre projet)

<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar">
    <!-- ... -->
</style>


0

essayez: toolbar.setTitle ("");

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = findViewById(R.id.toolbar);
    toolbar.setTitle("");
    setSupportActionBar(toolbar);
}

Bienvenue dans Stack Overflow! Veuillez ne pas répondre uniquement avec le code source. Essayez de fournir une belle description du fonctionnement de votre solution. Voir: Comment écrire une bonne réponse? . Merci
sɐunıɔ ןɐ qɐp

0

Pour supprimer simplement la barre de titre (ce qui signifie que la barre contient le nom de votre application) d'une activité, j'ajoute simplement la ligne ci-dessous à cette activité dans le manifests\AndroidManifest.xml:

android:theme="@style/AppTheme.NoActionBar"

Cela devrait maintenant ressembler à ci-dessous

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

J'espère que ce sera utile.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.