2012-12-04 11 views
27

I to, co mój pasek czynności ma mieć title i homeAsUp, ale nie logo lub ikony.Usunąć ikonę, ale mieć HomeAsup w ActionBar

tak:

enter image description here

Próbowałem to:

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

Ale daje ikonę aplikacji między tytułem a strzałkę wstecz

Dziękuję

+1

Dlaczego nie chcesz, aby ikona była obecna? Czy nie byłoby łatwiej użytkownikom zobaczyć, z której aplikacji korzystają po otrzymaniu połączenia itp.? –

+1

** Nie uważam, że spójność między platformami między różnymi wersjami aplikacji jest tak samo ważna niż spójność między aplikacjami na jednej platformie ** od Juhani –

+1

Kiedyś nie potrzebujemy tej funkcji, gdy twój nieekonomiczny szef poprosi Cię o wykonanie Wzór interfejsu iOS w systemie Android! to zdecydowanie jedna z złych praktyk w systemie Android! ale musimy to zrobić! jeśli to skomentujemy, to jesteśmy zauważeni! :) –

Odpowiedz

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

z dokumentacji: ** strona prezentowana jest jako albo ikoną działalności lub logo ** Metoda: 'setDisplayShowHomeEnabled (logiczna ShowHome)' http://developer.android.com /reference/android/app/ActionBar.html#setDisplayShowHomeEnabled(boolean) – sromku

+1

Znajduję przy pomocy ASB, jeśli setDisplayHomeAsUpEnabled (false); setHomeButtonEnabled (true); zrobi to samo: tytuł ze wskaźnikiem up i bez ikony. – oscarthecat

+0

próbowałem tego, ten naprawdę działa! – cwhsu

2

Try ustawić tę rzecz

actionBar.setLogo(null); 
+0

Nope nie działa –

0

Aby ukryć ikonę, a także spróbować użyć 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

Otwórz plik styles.xml i dodaj poniżej kodów w swoim stylu Actionbar

<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: Używam Actionbara Sherlocka i to działa dobrze

5

Jeśli nie chcę ikony w określonej aktywności.

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

celu ukrycia działań bar ikonę następujące formy pracuje dla mnie

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

+1 pracował dla mnie pierwsza sztuczka dzięki :) –

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

to działa na mnie.

0
getActionBar().setHomeButtonEnabled(true);//used to navigate to home 
getActionBar().setDisplayHomeAsUpEnabled(false);//used to hide the left caret symbol 
Powiązane problemy