2013-01-16 12 views
12

Mam małe pytanie o temat mojej aplikacji, która używa ActionBarSherlock. Wszystko działa dobrze, z wyjątkiem Samsung phones with TouchWizz. Elementy menu przepełnienia pojawiają się po naciśnięciu klawisza menu sprzętu.ActionBarSherlock - menu tekstowe klawisza klawisza funkcyjnego

Wiem, jak zmienić tło panelu. Mój domyślny motyw rozciąga się na Theme.Sherlock.Light.DarkActionBar, więc domyślny kolor tekstu pozycji menu w panelu sprzętowym będzie black, nie chcę tego zmieniać.

Jakieś pomysły, jak to zrobić, oprócz zmiany rodzica mojego domyślnego motywu?

<style name="Theme.MyApp" parent="@style/Theme.Sherlock.Light.DarkActionBar"> 
    <item name="android:panelBackground">@drawable/menu_hardkey_panel</item> 
</style> 

enter image description here

Odpowiedz

0

Oto poprawne attrs ze sprzętem dostosować styl menu. Należy spojrzeć na panelColorForeground ;-)

<item name="android:panelColorBackground">#FFFFFF</item> 
<item name="android:panelColorForeground">@color/primary_text_holo_dark</item> 
<item name="android:panelFullBackground">@drawable/menu_background_fill_parent_width_holo_dark</item> 
<item name="android:panelTextAppearance">@style/Holo.TextAppearance</item> 

Testowane na HoloEverywhere lib i 2,3 emulatorze. Aby uzyskać szczegółowe informacje, patrz attrs doc.

1

Nie jestem pewien, czy rozumiem, co chcesz zrobić, ale jeśli chcesz zmienić textColor w tym panelu można utworzyć niestandardowy styl z rodzicem ustawiony TextAppearance.Sherlock.Widget .PopupMenu, a następnie zmień właściwość textColor. Tak:

<style name="Widget.MyApp.ActionBarPopupLargeTextColor" parent="TextAppearance.Sherlock.Widget.PopupMenu.Large"> 
<item name="android:textColor">@color/black</item> 
</style> 

<style name="Widget.MyApp.ActionBarPopupSmallTextColor" parent="TextAppearance.Sherlock.Widget.PopupMenu.Small"> 
    <item name="android:textColor">@color/black</item> 
</style> 

pracował dla mnie :)