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?

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

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

    .....

 }
Silambarasan Poonguti
la source
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.

Chandra Sekhar
la source
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);
MrEngineer13
la source
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);
les jeunes
la source
3

Si vous utilisez la barre d'outils, essayez le code ci-dessous:

toolbar.setTitle("");
varotariya vajsi
la source
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);
Crime_Master_GoGo
la source
2
 Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
    actionBar.addView(view);
    setSupportActionBar(actionBar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

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

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

Ajoutez simplement cet attribut à votre barre d'outils

app:title=" "
Dyno Cris
la source
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);
Hai Rom
la source
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>
Goudam m
la source
1

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

Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
Krishna Mohan Singh
la source
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">
Paulo Buchsbaum
la source
0

Personne n'a mentionné:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }
Andoctorey
la source
Lisez attentivement la question avant de répondre, OP a demandé de supprimer le titre de la barre d'outils
Bhavik Mehta
0

toolbar.setTitle(null);// supprimer le titre

user2167877
la source
0
Toolbar toolbar = findViewById(R.id.myToolbar);
    toolbar.setTitle("");
Bacar Pereira
la source