Set Symbolleiste logo in XML
Ist es möglich Toolbar-logo in xml? Ich habe versucht, diese so weit:
1.
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
...
android:logo="@drawable/my_logo"
/>
2.
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
...
app:logo="@drawable/my_logo"
/>
BEARBEITEN
Ich bin mit toolbar als eine actionbar in meinem AppCompatActivity:
setSupportActionBar(findViewById(R.id.toolbar));
Ich bin in der Lage, das logo von code:
((Toolbar) findViewById(R.id.toolbar)).setLogo(R.drawable.my_logo);
Aber ich würde gerne set logo entweder von der layout-XML-oder vom Stil/Thema XML.
- Ihr code 1. und code 2. sind genau die gleichen, und die app:logo="@drawable/my_logo" nicht gesetzt, wird ein logo in meine Symbolleiste.
- Sie sind nicht das gleiche-die erste verwendet
android:logo
, die zweite --app:logo
- Oh, tut mir Leid. Auch habe ich festgestellt, dass wir, sollten Sie nicht verwenden Symbolleiste, wenn wir wollen, um ein logo in ihm. Symbolleiste bietet keine Möglichkeiten zum anpassen das logo in Größe und position.
- Ich glaube, dass es nur erlaubt, diese mit einem benutzerdefinierten innere layout, als die Antwort unten schlägt.
InformationsquelleAutor Denis Kniazhev | 2015-06-15
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern
zu
UPDATE
Linearlayout hinzufügen in die Symbolleiste xml-tag.
Tatsächlich, Sie können, aber es funktioniert nicht gut mit Namen auf der Symbolleiste. Sie können einfach Bildansicht in den Körper der Symbolleiste, wie Sie dies tun mit Layout.
Besser, wenn Sie dies tun, aus dem code:
Anzeigen, logo icon set dieses icon zur Laufzeit in der ActionBar.
Verwendung von xml nur
Nun gelten AppTheme.NoActionBar Thema, um Ihre Aktivität( und wenn Sie möchten, entfernen, Symbolleiste Titel getSupportActionBar().setDisplayShowTitleEnabled(false); nach setSupportActionBar(toolbar);)
könnte dies die Antwort sein:
In meinem Fall das Ergebnis sieht wie folgt aus:
Symbolleiste mit Logo und Navigation
Wenn für einige Gründe-logo nicht angezeigt wird, dann versuchen Sie starten ein neues, frisches Projekt, fügen Sie nur layout_width, layout_height, id und logo-Attribute. Vergessen Sie nicht, Symbolleiste in onCreate über setActionBar oder setSupportActionBar.
Grüße,
P.
In Ihrem code setzen
getSupportActionBar().setLogo(R. drawable.Symbol);
Es funktioniert