2012-10-25 34 views
5

我在我的應用程序上使用ActionBarSherlock,當我在ActionBar中禁用某些MenuItem時,圖標在我的手機上變爲半透明(HTC One X正在運行股票Android 4.0.4),但是我沒有在任何其他手機中看到此行爲或模擬器。禁用時ActionBar中的半透明圖標:僅在我的手機上?

我是否正確地認爲這種行爲不是本機ActionBar的默認行爲?我喜歡這個主意......它警告用戶MenuItem由於某種原因沒有被啓用(在我的情況下,它是一個保存按鈕,並且如果至少有一個字段未被填充,則禁用該按鈕)。

我想爲自己提供一個半透明的圖標,並在MenuItem被禁用時手動設置它。這將適用於每個Android版本,本地ActionBar或不。問題在於,在我的手機(或其他任何具有相同行爲的手機)上,它會是半透明的兩倍,我不想那樣。

關於如何正確實現此效果的任何想法?

+0

您是否嘗試過在ActionButton上設置Alpha值?如果HTC設置的值爲0.5,那麼您將其設置爲所有設備都可以正常工作。 –

回答

1

我認爲問題出在主題上,您正在應用默認主題。所以,HTC覆蓋默認主題資源,我認爲你必須創建一個自定義主題,並將item_background更改爲默認的sdk資源。

<item name="selectableItemBackground">@android:drawable/item_background</item> 
0

你就必須將背景設置爲獨立的主題。在您可以設置的.xml文件中:

android:background="?android:attr/listSelector" 

關於您想要的顏色的視圖。