Ich habe versucht, eine Möglichkeit zu finden, das Symbol / Logo aus der Aktionsleiste zu entfernen, aber das einzige, was ich nach einer Stunde der Suche in SO, der Android-Dokumentation und Google gefunden habe, ist, wie die Titelleiste vollständig entfernt wird. Das will ich nicht. Ich möchte nur das Symbol / Logo aus der Titelleiste entfernen.
Weiß jemand, wie man das erreicht? Am liebsten möchte ich dies in XML tun .
Antworten:
Wenn Sie
android:logo="..."
im<application>
Tag Ihres definiert habenAndroidManifest.xml
, müssen Sie dieses Zeug verwenden, um das Symbol auszublenden:Pre-V11-Thema
v11 und höher Thema
Durch die Verwendung dieser beiden Stile wurde das Aktionsleistensymbol auf einem 2.3- und einem 4.4-Gerät für mich ordnungsgemäß ausgeblendet (diese App verwendet AppCompat ).
quelle
<application (...) android:logo="@android:color/transparent"> (...)
in meinemAndroidManifest.xml
und zwingtuseLogo
fürdisplayOptions
in meinem Stil wie diese<item name="android:displayOptions">showHome|useLogo|homeAsUp|showTitle</item> <item name="displayOptions">showHome|useLogo|homeAsUp|showTitle</item>
. Dieser letzte Teil war wichtig, da bei einigen Geräten (ich denke meistens nach dem Lutscher) die verdammte Suchansicht das AppIcon anstelle des Logos verwendet hat, auch wenn das Logo als transparent festgelegt wurde: sFügen Sie den folgenden Code in Ihre Aktionsleistenstile ein:
PS: Ich benutze Actionbar Sherlock und das funktioniert einwandfrei.
quelle
@android:color/transparent
als SCHWARZ angezeigt . Scheint verrückt zu sein, aber viele Gerätehersteller überschreiben die Standardeinstellungen von Android. einschließlich Farben. Aus diesem Grund würde ich eine Farbe in colours.xml wie folgt erstellen:<color name="transparent">#00000000</color>
und darauf verweisen, anstatt den Wert von Android zu erhalten.Wenn Sie das Symbol in einer bestimmten Aktivität nicht möchten.
quelle
ColorDrawable cd = new ColorDrawable(getResources().getColor(android.R.color.transparent)); cd.setBounds(0,0,0,0); getActionBar().setIcon(cd);
Ohne die GrenzensetLogo
anstelle dersetIcon
Methode verwenden. Trotzdem, toller Tipp, habe mich auf den richtigen Weg gebracht !!Das hat bei mir funktioniert
quelle
Berufung
zusätzlich zu,
blendet das Logo aus, zeigt aber das Home As Up-Symbol an. :) :)
quelle
Beachten Sie, dass:
Macht auch Ihre Optionselemente transparent.
quelle
quelle
Das hat bei mir funktioniert.
quelle
Entfernen oder zeigen Sie den Titel mit:
Entfernen oder zeigen Sie das Logo mit:
Alles entfernen:
quelle
Sie können den folgenden Code auch in AndroidManifest.xml hinzufügen .
Es wird gut funktionieren.
Ich stellte jedoch fest, dass dies ein Problem darstellt, da das Startsymbol ebenfalls transparent wird.
Also habe ich verwendet:
und es hat gut funktioniert.
Wenn Sie jedoch mehr als eine Aktivität haben und das Symbol einer Aktivität transparent machen möchten, funktioniert der vorherige Ansatz.
quelle
Ich habe das benutzt und es hat bei mir funktioniert.
quelle
quelle
Ich denke, die genaue Antwort lautet: für API 11 oder höher:
Andernfalls:
(weil es eine Unterstützungsbibliothek benötigt.)
quelle
Gehen Sie zu Ihrem Manifest und suchen Sie das Anwendungs-Tag
..... ... ...
quelle
Die Antwort von Qiqi Abaziz ist in Ordnung, aber ich hatte noch lange Mühe, sie mit dem Kompatibilitätspaket zum Laufen zu bringen und den Stil auf die richtigen Elemente anzuwenden. Auch der Transparenz-Hack ist nicht notwendig. Hier ist ein vollständiges Beispiel für Version 8 und höher:
values \ styles.xml
AndroidManifest.xml (Shell)
quelle
Gehen Sie in Ihr Manifest und suchen Sie Ihre Aktivität. Fügen Sie dann diesen Code hinzu:
über der Zeile verstecken Sie Ihre
Actionbar
.Wenn Sie eine andere Funktion benötigen, können Sie andere Optionen mit (CLR + SPC) anzeigen.
quelle
Am schnellsten können Sie Ihre Manifest.xml ändern. Wenn Sie beispielsweise das Logo der Aktivität "Aktivität" entfernen und das Logo in anderen Aktivitäten belassen möchten, können Sie Folgendes tun:
quelle
Keines der oben genannten hat funktioniert.
Aber das hat es geschafft:
(Symbol aus der Symbolleiste entfernt)
quelle