12

Ho una piccola domanda sull'applicazione della mia app che utilizza ActionBarSherlock. Tutto funziona bene tranne su . Le voci del menu di overflow vengono visualizzate premendo il tasto menu hardware.ActionBarSherlock menu di scelta rapida colore del menu del menu

So come modificare lo sfondo del pannello. Il tema predefinito si estende a Theme.Sherlock.Light.DarkActionBar, quindi il colore del testo della voce di menu predefinito nel pannello hardware sarà black, non voglio cambiarlo.

Qualche idea su come eseguire questa operazione oltre a modificare il genitore del tema predefinito?

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

enter image description here

risposta

0

Ecco le attrs corrette per stile del menu hardware sintonia. Si dovrebbe guardare 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> 

provata su HoloEverywhere lib e 2.3 emulatore. Vedere attrs doc per dettagli.

1

Io non sono sicuro se ho ben capito che cosa si vuole fare, ma se si desidera modificare textColor in questo pannello si può creare uno stile personalizzato con i genitori impostato TextAppearance.Sherlock.Widget .PopupMenu e quindi modifica la proprietà textColor. Come questo:

<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> 

Ha lavorato per me :)