2012-10-25 29 views
5

Używam ActionBarSherlock na mojej aplikacji i kiedy wyłączam niektóre MenuItem w ActionBar ikona staje się półprzezroczyste w moim telefonie (HTC One X z systemem Android 4.0.4), ale nie widziałem tego zachowania w innym telefonie lub emulator.Półprzezroczyste ikony w pasku akcji po wyłączeniu: tylko w telefonie?

Czy mam rację, zakładając, że to zachowanie nie jest domyślnym rodzimym ActionBarem? Podoba mi się ten pomysł ... Ostrzega użytkownika, że ​​MenuItem nie jest włączone z jakiegoś powodu (w moim przypadku jest to przycisk zapisu i jeśli co najmniej jedno pole nie jest wypełnione, wyłącza przycisk).

Zastanawiam się nad zapewnieniem sobie półprzezroczystej ikony i ustawiam ją ręcznie, gdy MenuItem jest wyłączone. To zadziała w każdej wersji Androida, natywnym ActionBar lub nie. Problem polega na tym, że na moim telefonie (lub innym podobnym zachowaniu) będzie dwa razy półprzezroczysty i nie chcę tego.

Wszelkich pomysłów, jak mogę właściwie osiągnąć ten efekt?

+0

Czy próbowałeś ustawić wartość alfa w przycisku akcji? Jeśli HTC ustawi wartość na 0.5, to ustawienie dla wszystkich urządzeń będzie działało dobrze. –

Odpowiedz

1

Myślę, że problem dotyczy motywu, stosujesz domyślny motyw. Tak więc, HTC zastępuje domyślne zasoby kompozycji, myślę, że trzeba stworzyć niestandardową kompozycję i zmienić item_background na domyślną na zasobach sdk.

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

należy ustawić tło, aby było niezależne od motywu. W pliku xml można ustawić:

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

na widoku, w którym chcesz kolor.