2012-10-25 7 views
5

Ich benutze ActionBarSherlock in meiner App und wenn ich einige MenuItem in der ActionBar deaktiviere, wird das Symbol durchscheinend auf meinem Handy (HTC One X mit Android 4.0.4), aber ich habe dieses Verhalten in keinem anderen Handy gesehen oder Emulator.Transparente Symbole in ActionBar, wenn deaktiviert: nur auf meinem Telefon?

Habe ich recht, wenn ich annehme, dass dieses Verhalten nicht das Standardverhalten für die native ActionBar ist? Ich mag die Idee jedoch ... Es warnt den Benutzer, dass das MenuItem aus irgendeinem Grund nicht aktiviert ist (in meinem Fall ist es eine Schaltfläche zum Speichern und wenn mindestens ein Feld nicht ausgefüllt ist, wird die Schaltfläche deaktiviert).

Ich dachte daran, mir ein transparentes Symbol zur Verfügung zu stellen und es manuell zu setzen, wenn das MenuItem deaktiviert ist. Dies funktioniert mit jeder Android-Version, native ActionBar oder nicht. Das Problem ist, dass es auf meinem Handy (oder jedem anderen mit dem gleichen Verhalten) doppelt so durchscheinend ist und ich das nicht möchte.

Irgendwelche Ideen, wie ich diesen Effekt richtig erreichen kann?

+0

Haben Sie versucht, den Alpha-Wert auf dem ActionButton einzustellen? Wenn HTC den Wert auf 0,5 setzt, können Sie die Einstellung für alle Geräte problemlos durchführen. –

Antwort

1

Ich denke, dass das Problem auf das Thema ist, wenden Sie das Standardthema an. Also, HTC überschreiben Standard-Themen-Ressourcen, ich denke, Sie müssen ein benutzerdefiniertes Thema erstellen und ändern Sie den Element-Hintergrund auf den Standard-SDRessourcen.

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

müssen Sie den Hintergrund unabhängig vom Thema festlegen. In der .xml-Datei könnten Sie folgendes setzen:

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

auf der Ansicht, wo Sie die Farbe möchten.

Verwandte Themen