2013-02-27 12 views
5

Uderzam kilka przeszkód w stylizację ActionBar.Logo Actionbar zamienia się w ikonę aplikacji na rozwiniętym ActionView

Problem, który mam teraz, to logo/ikona po rozwinięciu ActionView. Z jakiegoś powodu nie korzysta z logo do narysowania tutaj, ale ikona z możliwością rysowania. Chcę, żeby to albo znikło, albo ustawiło się na mojej własnej szufladzie. Próbowałem ustawić ikonę bezpośrednio w onMenuItemActionCollapse() przy użyciu funkcji setIcon() z ActionBar bez powodzenia. Próbowałem także ustawić tam rzeczy do domu i logo.

Wszelkie pomysły na rozwiązanie tego problemu?

+0

o tym samym numerze. Czy znalazłeś rozwiązanie? – user123321

Odpowiedz

8

Znalazłem to, chociaż nie ma tam gdzie udokumentowane, kiedy przechodziłem przez źródło zobaczyłem, że faktycznie używa ikony zamiast logo. Odkryłem także, że istnieje atrybut o nazwie icon w actionBarStyle. Więc następujące prace:

<style name="action_bar" parent="@android:style/Widget.ActionBar"> 
    <item name="android:logo">@drawable/logo</item> 
    <item name="android:icon">@drawable/logo</item> 
</style> 
+0

tak, ale co, jeśli logo różni się od Twojej ikony, takiej jak aplikacja YouTube? – user123321

+0

Więc nie masz szczęścia, obawiam się. Jedynym innym rozwiązaniem jest ukrycie wskaźnika up i icon i umieszczenie tam niestandardowego widoku. – Nick

+3

Zauważyłem, że jeśli ustawię programowo, problem zniknie. Wygląda jak głupi błąd. – user123321

0

tak, natknąłem się na ten sam problem i naprawić go w ten sposób:

  1. Sprawdź, czy masz odpowiednie dla logo kanału alfa. W tym celu skorzystałem z Android Asset Studio.
  2. W swoim manifeście pod numerem application upewnij się, że podałeś swoją ikonę i logo.
  3. W swojej aktywności (lub, w moim przypadku, fragmencie) ustaw ikonę ActionBar na logo, używając setIcon.

Kiedy miałem do czynienia z tym, # 3 „pracował” dla mnie, ale ikona zakończył się mniejsza wersja tego, co zostało wykorzystane w ActionBar, więc zrobiłem pewien miałem odpowiednich rozmiarów w mojej aplikacji (co Nie zrobiłem tego w tym czasie).

Powiązane problemy