2013-06-22 41 views
0

所以,我想使用視圖代替操作欄中的應用程序圖標。我無法使用簡單的圖像,因爲視圖會根據應用參數中選擇的顏色集合更改其顏色(我不想在Photoshop中創建四百張圖像...)。ActionBar - 使用視圖作爲圖標

我知道我可以使用自定義視圖作爲操作欄,它甚至很安靜,但問題在於原始應用程序圖像仍然顯示。我也知道我可以通過將setDisplayShowHomeEnabled設置爲false來隱藏它,但這也隱藏了我的導航抽屜的字形,這就是問題所在。

我也嘗試創建一個自定義Drawable並覆蓋onDraw方法,但沒有任何顯示,並且Drawable具有1px的高度/寬度。

回答

0

要隱藏你可以使用一個透明的,編輯你用你的動作條這樣的風格的圖標:

<style name="MyActionBarStyle" parent="@style/Widget.Sherlock.Light.ActionBar"> 
    <item name="icon">@android:color/transparent</item> 
    </style> 

假設你爲你的主題,你的動作條名爲MyActionBarStyle風格使用。

<style name="AppBaseTheme" parent="@style/Theme.Sherlock.Light"> 
    <item name="actionBarStyle">@style/MyActionBarStyle</item> 
</style> 
+0

隱藏圖標工作,但圖像使用的空間仍然存在,所以我的視圖無法對齊在欄的最左側。 –

+0

您是否考慮過隱藏徽標和導航字形,並使用類似圖像按鈕的方式將導航功能複製到自定義視圖中? – Plato

+0

我使用的是NavigationDrawer,所以很難模仿原點行爲(特別是在開啓/關閉期間的圖像轉換)。我寧願找到一個解決方案來替換圖像與視圖我可以重寫onDraw方法,因爲如果我在操作欄中使用自定義視圖,用戶甚至不能觸摸圖像或標題打開抽屜或上去。 –