2013-02-27 49 views
5

我遇到了造型ActionBar的不少障礙。Actionbar logo在展開的ActionView中變成應用程序圖標

我現在遇到的問題是徽標/圖標,當ActionView展開時。 出於某種原因,它不使用可繪製的徽標,而是繪製應用程序圖標。我想要這個或者消失或者設置爲我自己的drawable。我嘗試使用setIcon()函數ActionBar直接在onMenuItemActionCollapse()中設置圖標,但沒有運氣。還嘗試在那裏設置家庭和標誌的東西。

任何想法如何解決這個問題?

+0

具有相同的問題。你有沒有找到解決方案? – user123321 2013-03-01 03:35:30

回答

8

我發現它,雖然沒有記錄在案,當我通過源代碼時,我看到它實際上使用圖標而不是徽標。我還發現,在actionBarStyle中有一個名爲icon的屬性。所以下面的工作:

<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

是啊,但是如果你的標誌與你的圖標不同,比如youtube應用程序怎麼辦? – user123321 2013-03-01 03:36:31

+0

那你就不幸運了,我很害怕。唯一的其他解決方案是隱藏起來和圖標指示器,並在那裏放置一個自定義視圖 – Nick 2013-03-04 07:11:52

+3

我發現,如果我以編程方式設置它,問題就會消失。看起來像一個愚蠢的錯誤。 – user123321 2013-03-06 00:08:55

0

所以,我碰到了同樣的問題,並固定它是這樣的:

  1. 確保你有適當的可繪爲您的標誌。我使用Android Asset Studio來執行此操作。
  2. 在您的清單中,在application下,確保您指定了您的圖標和徽標。
  3. 在你的活動中(或在我的情況下,片段)使用setIcon將ActionBar的圖標設置爲徽標。

當我處理這個問題時,#3「爲我工作」,但圖標最終成爲ActionBar中使用的較小版本,所以我確保在我的應用程序中具有適當的大小我當時沒有)。

相關問題