Supprimer le titre dans la barre d'outils dans appcompat-v7


170

La documentation de Toolbardit

Si une application utilise une image de logo, elle doit fortement envisager d'omettre un titre et un sous-titre.

Quelle est la bonne façon de supprimer le titre?


où est le problème si vous le définissez simplement sur une chaîne vide? Je ne pense pas que vous deviez utiliser une mise en page personnalisée qui utilise simplement une icône. Je suppose que c'est exagéré?
Wagner Michael

3
@maffelbaffel Rien de mal à définir une chaîne vide mais cela semble inapproprié. Mais oui, utiliser une mise en page personnalisée serait exagéré.
timemanx

1
Je devais faire:toolbar.setTitle("");
Ferran Maylinch

1
@FerranMaylinch Oui, c'est du travail pour moi aussi! J'utilise toolbar.setTitle (null); ce qui donne le nom de l'application comme titre par défaut. donc j'ai mis toolbar.setTitle (""); qui fonctionnent bien.
ULHAS PATIL

Réponses:


556
getSupportActionBar().setDisplayShowTitleEnabled(false);

4
Cette réponse et la réponse de David_E fonctionnent comme de moi si elles sont appelées juste après avoir appelé setSupportActionBar(). Choisir cette réponse car cela semble être la manière officielle de le faire selon la référence officielle:Set whether an activity title/subtitle should be displayed.
C0D3LIC1OU5

Ce n'est que pour la barre d'outils comme la barre d'action, mais pas pour la barre d'outils propre!
iscariot le

2
Comment le supprimer en utilisant style.xml? S'il vous plaît aidez-moi
Anand Savjani

A travaillé pour moi. Vous devez utiliser "appcompat_v7: v21" pour que cela fonctionne.
V_J

vous devez vérifier si ce qui précède ne produira pas d'exception NullPonterException en faisant: if (getSupportActionBar ()! = null) getSupportActionBar (). setDisplayShowTitleEnabled (false);
iOSAndroidWindowsMobileAppsDev

68

La bonne façon de masquer / modifier le titre de la barre d'outils est la suivante:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);

En effet, lorsque vous appelez setSupportActionBar(toolbar);, le getSupportActionBar()sera responsable de tout gérer dans la barre d'action, pas dans l'objet de la barre d'outils.

Voir ici


9
setTitle (null) fait que le nom de l'application devient le titre .. setTitle ("") a fonctionné pour moi.
user1354603

1
en xml, j'ai ajouté <Toolbar app: title = "" // title est un espace. A travaillé
Dan Alboteanu

21

Essaye ça...

 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_landing_page); 

    .....

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_landing_page);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    .....

 }

19

La raison de ma réponse à ce sujet est que la réponse la plus votée elle-même n'a pas réussi à résoudre mon problème. J'ai résolu ce problème en faisant cela.

<activity android:name="NAME OF YOUR ACTIVITY"
    android:label="" />

J'espère que cela aidera les autres aussi.


2
Ce n'est pas une bonne idée. Si vous avez une activité <intent-filter>sur cette activité pour permettre aux utilisateurs d'ouvrir votre application en cliquant sur une URL (par exemple), la boîte de dialogue d'homonymie n'aura pas de titre!
Albert Vila Calvo le

10

Une autre façon de supprimer le titre de votre Toolbarest de nullle sortir comme ceci:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);

4

ce

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    //toolbar.setNavigationIcon(R.drawable.ic_toolbar);
    toolbar.setTitle("");
    toolbar.setSubtitle("");
    //toolbar.setLogo(R.drawable.ic_toolbar);


2

Vous pouvez utiliser l' un des deux ci - dessous que fonctionne même: getSupportActionBar().setDisplayShowTitleEnabled(false); et getSupportActionBar().setTitle(null);

Où utiliser:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);

Ou :

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setTitle(null);

2
 Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
    actionBar.addView(view);
    setSupportActionBar(actionBar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

prenez note de cette ligne getSupportActionBar().setDisplayShowTitleEnabled(false);


actionBar.addView (vue); est une vue personnalisée que
j'ajoute

2

Ajoutez simplement cet attribut à votre barre d'outils

app:title=" "

1

La bonne façon de masquer le titre / l'étiquette de ToolBar les codes suivants:

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(null);

1

Je ne sais pas si c'est la bonne façon ou non, mais j'ai changé mon style comme ça.

<style name="NoActionBarStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>

1

si vous utilisez la barre d'outils par défaut, vous pouvez ajouter cette ligne de code

Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);

1

C'est évident, mais la App Themesélection dans la conception est juste pour afficher un brouillon lors de l'édition de la mise en page, n'est pas liée à la recherche d'une application réelle dans un téléphone portable. Dans mon cas, il n'y a pas de barre de titre dans la conception mais la barre de titre était toujours dans le téléphone portable.

Je commence par la programmation Android et je me bats pour découvrir une bonne solution.

Il AndroidManifest.xmlne suffit pas de modifier le fichier manifeste ( ) car le style doit être prédéfini styles.xml. Il est également inutile de modifier les fichiers de mise en page.

Toute solution proposée Javaou Kotlina échoué pour moi. Certains d'entre eux plantent l'application. Et si l'on n'a jamais (comme moi) l'intention d'utiliser la barre de titre dans l'application, la solution statique est plus propre.

Pour moi, la seule solution qui fonctionne en 2019 (Android Studio 3.4.1) est:

in styles.xml(sous app / res / values) ajoutez les lignes:

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

Après dans AndroidManifest.xml(sous app / manifestes)

Remplacer

android:theme="@style/AppTheme">

par

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

0

Personne n'a mentionné:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }

Lisez attentivement la question avant de répondre, OP a demandé de supprimer le titre de la barre d'outils
Bhavik Mehta


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.