2012-12-04 13 views
27

Ich was meine Actionbar zu haben Titel und homeAsUp, aber nicht das Logo oder Symbol.Entfernen Sie das Symbol, aber HomeAsUp in ActionBar

wie folgt aus:

enter image description here

Ich habe versucht, dieses:

actionBar = getSupportActionBar(); 
actionBar.setHomeButtonEnabled(false); 
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setDisplayShowHomeEnabled(true); 
actionBar.setDisplayShowTitleEnabled(true); 
actionBar.setTitle("My Profile"); 
actionBar.setDisplayUseLogoEnabled(false); 

Aber es gibt das Anwendungssymbol zwischen dem Titel und Pfeil zurück

danken Ihnen

+1

Warum soll das Symbol nicht vorhanden sein? Wäre es für Ihre Benutzer nicht einfacher zu sehen, welche App sie verwenden, nachdem sie einen Anruf erhalten haben usw.? –

+1

** Ich glaube nicht, dass die plattformübergreifende Konsistenz zwischen den verschiedenen Versionen einer App genauso wichtig ist wie die Konsistenz zwischen Apps auf einer einzigen Plattform. ** Juhani –

+1

Manchmal brauchen wir diese Funktion, wenn dein nicht geekiger Boss dich darum bittet iOS UI-Muster in Android! Es ist definitiv eine der schlechten Praktiken in Android! aber wir müssen es tun! Wenn wir das kommentieren, werden wir bemerkt! :) –

Antwort

45
actionBar = getSupportActionBar();  
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setDisplayShowHomeEnabled(false); 
actionBar.setDisplayShowTitleEnabled(true); 
actionBar.setTitle("My Profile"); 
actionBar.setDisplayUseLogoEnabled(false); 
+0

Aus-Dokumentation arbeiten ** Home ist als entweder eine Tätigkeit Symbol oder Logo präsentiert ** Die Methode: 'setDisplayShowHomeEnabled (boolean showhome)' http://developer.android.com /reference/android/app/ActionBar.html#setDisplayShowHomeEnabled(boolean) – sromku

+1

Ich finde mit ASB, wenn Sie setDisplayHomeAsUpEnabled (false); setHomeButtonEnabled (true); wird das gleiche tun: Titel mit oben Indikator und ohne Symbol. – oscarthecat

+0

habe ich selbst versucht, das funktioniert wirklich! – cwhsu

2

Try um dieses Ding zu setzen

actionBar.setLogo(null); 
+0

Nö es nicht –

0

das Symbol auszublenden versuchen auch setIcon(null)

actionBar = getSupportActionBar(); 
actionBar.setTitle("My Profile"); 
actionBar.setDisplayUseLogoEnabled(false); 
actionBar.setIcon(null); 
actionBar.setHomeButtonEnabled(false); 
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setDisplayShowHomeEnabled(true); 
actionBar.setDisplayShowTitleEnabled(true); 
10

Ihre styles.xml Datei öffnen und unten Codes in Ihrem ActionBar Stil

<item name="android:displayOptions">showHome|homeAsUp|showTitle</item> 
<item name="displayOptions">showHome|homeAsUp|showTitle</item> 
<item name="android:icon">@android:color/transparent</item> <--this do the magic! 

p/s unter Verwendung hinzufügen: Ich benutze Actionbar Sherlock und das funktioniert gut

5

Wenn Sie Ich möchte das Symbol nicht in bestimmten Aktivitäten.

getActionBar().setIcon(
    new ColorDrawable(getResources().getColor(android.R.color.transparent))); 
4

Um Aktionsleiste Symbol verstecken Methoden folgende funktioniert für mich

method-1:getActionBar().setIcon(android.R.color.transparent); 
method-2:getActionBar().setIcon(null); 
+0

+1 hat für mich den 1. Trick thanks :) –

2
getActionBar().setIcon(
new ColorDrawable(getResources().getColor(android.R.color.transparent))); 

es für mich funktioniert.

0
getActionBar().setHomeButtonEnabled(true);//used to navigate to home 
getActionBar().setDisplayHomeAsUpEnabled(false);//used to hide the left caret symbol 
Verwandte Themen