La documentazione di Toolbar
dice
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?
toolbar.setTitle("");
La documentazione di Toolbar
dice
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?
toolbar.setTitle("");
Risposte:
getSupportActionBar().setDisplayShowTitleEnabled(false);
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.
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
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);
.....
}
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.
<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!
Un altro modo per rimuovere il titolo dal tuo Toolbar
è quello di null
uscirne in questo modo:
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);
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);
Se stai usando la barra degli strumenti prova sotto il codice:
toolbar.setTitle("");
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);
Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
actionBar.addView(view);
setSupportActionBar(actionBar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
prendi nota di questa linea getSupportActionBar().setDisplayShowTitleEnabled(false);
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>
se si utilizza la barra degli strumenti predefinita, è possibile aggiungere questa riga di codice
Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
È ovvio, ma la App Theme
selezione 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 Java
o Kotlin
non è 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">
Nessuno ha menzionato:
@Override
protected void onCreate(Bundle savedInstanceState) {
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
}
toolbar.setTitle(null);
// rimuove il titolo
Toolbar toolbar = findViewById(R.id.myToolbar);
toolbar.setTitle("");