Rimuovi il titolo in Toolbar in appcompat-v7


170

La documentazione di Toolbardice

Se un'app utilizza un'immagine del logo, dovrebbe prendere in considerazione l'idea di omettere un titolo e un sottotitolo.

Qual è il modo corretto di rimuovere il titolo?


dov'è il problema se lo si imposta su una stringa vuota? Non credo che devi usare un layout personalizzato che utilizza solo un'icona. Immagino che sia eccessivo?
Wagner Michael,

3
@maffelbaffel Niente di sbagliato nell'impostare una stringa vuota ma sembra improprio. Ma sì, l'utilizzo di un layout personalizzato sarebbe eccessivo.
timemanx,

1
Ho dovuto fare:toolbar.setTitle("");
Ferran Maylinch l'

1
@FerranMaylinch Sì, questo funziona anche per me! Uso toolbar.setTitle (null); che risulta in Nome applicazione come titolo predefinito. quindi ho impostato toolbar.setTitle (""); che funziona benissimo.
ULHAS PATIL

Risposte:


555
getSupportActionBar().setDisplayShowTitleEnabled(false);

4
Questa risposta e la risposta di David_E funzionano come da me se chiamata subito dopo la chiamata setSupportActionBar(). Scegliere questa risposta perché questo sembra essere il modo ufficiale per farlo secondo il riferimento ufficiale:Set whether an activity title/subtitle should be displayed.
C0D3LIC1OU5

è solo per barra degli strumenti come barra delle azioni, ma non per toobar pulito!
Iscariot,

2
Come rimuoverlo usando style.xml? Ti prego, aiutami
Anand Savjani,

Ha funzionato per me. Devi usare "appcompat_v7: v21" perché questo funzioni.
V_J

devi verificare se quanto sopra non produrrà una NullPonterException facendo: if (getSupportActionBar ()! = null) getSupportActionBar (). setDisplayShowTitleEnabled (false);
iOSAndroidWindowsMobileAppsDev

68

Il modo corretto di nascondere / modificare il titolo della barra degli strumenti è questo:

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

Questo perché quando chiami setSupportActionBar(toolbar);, allora getSupportActionBar()sarà responsabile della gestione di tutto nella barra delle azioni, non dell'oggetto della barra degli strumenti.

Vedi qui


9
setTitle (null) fa sì che il nome dell'app diventi il ​​titolo .. setTitle ("") ha funzionato per me.
user1354603

1
in xml ho aggiunto <App barra degli strumenti: title = "" // title è uno spazio. Ha funzionato
Dan Alboteanu il

21

Prova questo...

 @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

Il motivo della mia risposta su questo è perché la risposta più votata non è riuscita a risolvere il mio problema. Ho capito questo problema facendo questo.

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

Spero che questo possa aiutare anche gli altri.


2
Questa non è una buona idea. Se hai un'attività <intent-filter>su quell'attività per consentire agli utenti di aprire l'app facendo clic su un URL (ad esempio), la finestra di dialogo di chiarimento delle ambiguità non avrà alcun titolo!
Albert Vila Calvo,

10

Un altro modo per rimuovere il titolo dal tuo Toolbarè quello di nulluscirne in questo modo:

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

4

Questo

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);

3

Se stai usando la barra degli strumenti prova sotto il codice:

toolbar.setTitle("");

2

Puoi usare uno dei seguenti come entrambi funzionano allo stesso modo: getSupportActionBar().setDisplayShowTitleEnabled(false); e getSupportActionBar().setTitle(null);

Dove usare:

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

O :

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);

prendi nota di questa linea getSupportActionBar().setDisplayShowTitleEnabled(false);


actionBar.addView (vista); è una vista personalizzata che sto aggiungendo alla barra degli strumenti
suulisin,

2

Aggiungi questo attributo alla tua barra degli strumenti

app:title=" "

1

Il modo corretto per nascondere il titolo / etichetta della barra degli strumenti i seguenti codici:

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

1

Non so se questo è il modo giusto o no, ma ho cambiato il mio stile in questo modo.

<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

se si utilizza la barra degli strumenti predefinita, è possibile aggiungere questa riga di codice

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

1

È ovvio, ma la App Themeselezione nel design è solo per mostrare una bozza durante l'edizione del layout, non è correlata alla vera app che guarda nel telefono cellulare. Nel mio caso, non esiste una barra del titolo nel design, ma la barra del titolo era sempre nel telefono cellulare.

Sto iniziando con la programmazione Android e combatto per scoprire la soluzione giusta.

Basta cambiare il file manifest ( AndroidManifest.xml) non è sufficiente perché lo stile deve essere predefinito è styles.xml. Inoltre è inutile modificare i file di layout.

Tutta la soluzione proposta in Javao Kotlinnon è riuscita per me. Alcuni di loro bloccano l'app. E se non si intende mai (come me) utilizzare la barra del titolo nell'app, la soluzione statica è più pulita.

Per me l'unica soluzione che funziona nel 2019 (Android Studio 3.4.1) è:

in styles.xml(sotto app / res / valori) aggiungi le righe:

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

After in AndroidManifest.xml(sotto app / manifest)

Sostituire

android:theme="@style/AppTheme">

di

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

0

Nessuno ha menzionato:

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

Leggi attentamente la domanda prima di rispondere, OP ha chiesto di rimuovere il titolo dalla barra degli strumenti
Bhavik Mehta,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.