2014-11-17 193 views
2

我已升級到avtionbar應用程序compat v21以進行材料設計。應用程序compat actionbar v21應用程序圖標未顯示

但我觀察到它沒有在操作欄和導航菜單中顯示應用程序圖標,並且返回按鈕與舊的appcompat庫相比需要更多的空間。

有沒有人遇到過這個問題?我搜查了很多,但沒有發現任何有用的東西。

下線也不起作用。

getSupportActionBar().setLogo(R.drawable.ic_launcher); 

我使用的動作條的風格,就像是

<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
     <item name="android:icon">@drawable/ic_action_bar</item> 
     <item name="android:background">@drawable/action_bar_bg</item> 
     <item name="android:windowContentOverlay">@null</item> 
     <!-- Support library compatibility --> 
     <item name="background">@drawable/action_bar_bg</item> 
</style> 

我所知道的一樣工具欄等解決方案。但是我處於發佈的中間,由於時間的限制,我正在尋找一些快速解決方案(如果有的話)。添加工具欄將需要更多時間。

+0

看來,它實際上是從內部實現自身刪除。很多改進的Google應用在操作欄中沒有圖標。使用工具欄可以做到這一點。 :) – Dhaval

回答

4

我將此添加到我的主題:

<item name="android:windowNoTitle">false</item> 
<item name="android:windowActionBar">true</item> 
<item name="windowActionBar">true</item> 

,然後動作條又回來了。

注意:如果使用supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);那麼你不能僅僅做到這一點,但必須將工具欄添加到您的佈局(其心不是那麼多的工作,反正)

+0

謝謝,會試試這個肯定,讓你知道 –

5

setIcon/setLogo如果設置DisplayOptions嘗試此方法纔有效 -

actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE); 
actionBar.setIcon(R.drawable.ic_launcher); 

您還可以設置顯示LOGO的選項(只需添加常量ActionBar.DISPLAY_USE_LOGO)。更多信息 - displayOptions

0

使用getSupportActionbar,而不是動作條

Actionbar actionbar = getSupportActionBar() 
actionbar.setDisplayHomeAsUpEnabled(true); 
actionBar.setHomeButtonEnabled(true); 
actionbar.setIcon(YOUR ICON); 
相關問題