Die Dokumentation von Toolbar
sagt
Wenn eine App ein Logo verwendet, sollte unbedingt ein Titel und ein Untertitel weggelassen werden.
Was ist der richtige Weg, um den Titel zu entfernen?
toolbar.setTitle("");
Die Dokumentation von Toolbar
sagt
Wenn eine App ein Logo verwendet, sollte unbedingt ein Titel und ein Untertitel weggelassen werden.
Was ist der richtige Weg, um den Titel zu entfernen?
toolbar.setTitle("");
Antworten:
getSupportActionBar().setDisplayShowTitleEnabled(false);
setSupportActionBar()
. Wählen Sie diese Antwort, da dies der offizielle Weg zu sein scheint, um dies gemäß der offiziellen Referenz zu tun:Set whether an activity title/subtitle should be displayed.
Der richtige Weg, um den Symbolleisten-Titel auszublenden / zu ändern, ist folgender:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);
Dies liegt daran, dass beim Aufrufen setSupportActionBar(toolbar);
der getSupportActionBar()
Benutzer dafür verantwortlich ist, alles in der Aktionsleiste und nicht im Symbolleistenobjekt zu verarbeiten.
Siehe hier
Versuche dies...
@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);
.....
}
Der Grund für meine Antwort darauf ist, dass die am besten bewertete Antwort selbst mein Problem nicht lösen konnte. Ich habe dieses Problem dadurch herausgefunden.
<activity android:name="NAME OF YOUR ACTIVITY"
android:label="" />
Hoffe das wird auch anderen helfen.
<intent-filter>
Aktivität verfügen , mit der Benutzer Ihre App durch Klicken auf eine URL öffnen können (z. B.), hat der Dialog zur Begriffsklärung keinen Titel!
Eine andere Möglichkeit, den Titel aus Ihrem Titel zu entfernen, Toolbar
besteht darin, null
ihn wie folgt zu entfernen :
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);
Dies
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);
Wenn Sie die Symbolleiste verwenden, versuchen Sie den folgenden Code:
toolbar.setTitle("");
Sie können einen der folgenden Werte verwenden, da beide auf die gleiche Weise funktionieren:
getSupportActionBar().setDisplayShowTitleEnabled(false);
und
getSupportActionBar().setTitle(null);
Verwendungszweck:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
Oder :
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);
Beachten Sie diese Zeile getSupportActionBar().setDisplayShowTitleEnabled(false);
Ich weiß nicht, ob dies der richtige Weg ist oder nicht, aber ich habe meinen Stil so geändert.
<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>
Wenn Sie die Standardsymbolleiste verwenden, können Sie diese Codezeile hinzufügen
Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
Es ist offensichtlich, aber die App Theme
Auswahl im Design dient nur zur Anzeige eines Entwurfs während der Layout-Ausgabe und hat nichts mit der realen App zu tun, die auf dem Handy aussieht. In meinem Fall gibt es keine Titelleiste im Design, aber die Titelleiste war immer im Handy.
Ich beginne mit der Android-Programmierung und kämpfe darum, eine richtige Lösung zu finden.
Nur die Manifestdatei ( AndroidManifest.xml
) zu ändern, reicht nicht aus, da der Stil vordefiniert werden muss styles.xml
. Auch ist es nutzlos, die Layoutdateien zu ändern.
Alle vorgeschlagenen Lösungen in Java
oder Kotlin
sind für mich gescheitert. Einige von ihnen stürzen die App ab. Und wenn man (wie ich) nie vorhat, die Titelleiste in der App zu verwenden, ist die statische Lösung sauberer.
Für mich ist die einzige Lösung, die 2019 funktioniert (Android Studio 3.4.1):
styles.xml
Fügen Sie in (unter app / res / values) die Zeilen hinzu:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
Nach in AndroidManifest.xml
(unter App / Manifeste)
Ersetzen
android:theme="@style/AppTheme">
durch
android:theme="@style/AppTheme.NoActionBar">
Niemand erwähnte:
@Override
protected void onCreate(Bundle savedInstanceState) {
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
}
toolbar.setTitle(null);
// entferne den Titel
Toolbar toolbar = findViewById(R.id.myToolbar);
toolbar.setTitle("");