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.

Jonas
la source

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" />
M. Torres
la source
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"
Tarek Ezzat Abdallah
la source
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

Ivo Robotnik
la source
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>

Kamesh Kumar Singh
la source
13

Vérifie ça

 ActionBar actionBar = getSupportActionBar();
    actionBar.hide();
Manmohan Kumar
la source
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();
GAFFE
la source
7

Dans le fichier manifeste, modifiez ceci:

android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
XIII
la source
6

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

       `<item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>`
Roger Casagrande
la source
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"
Zitro
la source
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
สาธิต งาม เมือง
la source
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.

MD.JULHAS HOSSAIN
la source
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

Claude
la source
2

faites ceci dans votre fichier manifeste:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
Rustam
la source
ç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!

Jonas
la source
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);

    }
RajaSekar
la source
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);
}
ShehrozEK
la source
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.

Perhpethua
la source
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 .....

Bhupinder Singh
la source
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.

T-shirt Yi Heng
la source
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>
Ayham Rustom
la source
0

Appelez simplement setTitle(null);onCreate ()

Mina Fawzy
la source
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);
}
Khaled
la source
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.

Gregorio
la source