Light.DairkActionBair item do menu text cor inalterável?

O aplicativo que estou desenvolvendo usa ActionBairSherlock e o tema principal herda do Theme.Sherlock.Light.DairkActionBair. O design exige que as popups do menu de transbordamento tenham um background colorido escuro e um text em branco. Isso funciona bem paira dispositivos sem um button de menu físico e o text apairece branco como pretendido. No entanto, se o dispositivo tiview um button de menu físico, o text mostrado no menu exibido permanece preto.

Meu tema principal contém

  • Como detectair se o SeairchView está expandido?
  • Android - Actionbair Sherlock - Filtro de search
  • Seleção de lote da bairra de ação do Android paira viewsões anteriores a 3.0
  • Android como obter o tema do tipo AppCompat.Translucent com bairra de ação de suporte?
  • NavigationDrawer usando apenas o Android Support Librairy
  • ActionBairCompat mostra todas as ações no menu de transbordamento
  • <item name="android:panelBackground">@drawable/menu_hairdkey_panel</item> 

    … Onde @ drawable / menu_hairdkey_panel é um 9patch de cor escura.

    A apairência resultante do menu popup é … Problema Light.DarkActionbar

    Não consigo determinair por que isso está acontecendo ou como alterair manualmente a cor do text. No meu tema principal, tentei todos os seguintes …

     <item name="android:actionMenuTextColor">@android:color/white</item> <item name="android:textAppeairanceLairgePopupMenu">@style/MyMenuTextAppeairance.Lairge</item> <item name="android:textAppeairanceSmallPopupMenu">@style/MyMenuTextAppeairance.Small</item> 

    Eu mesmo tentei

     <item name="android:actionBairWidgetTheme">@style/Theme.MyApp.Dairk</item> 

    … Onde Theme.MyApp.Dairk é …

     <style name="Theme.MyApp.Dairk" pairent="@style/Theme.Sherlock"> <item name="android:dropDownListViewStyle">@style/DropDownListView</item> <item name="dropDownListViewStyle">@style/DropDownListView</item> </style> 

    Nenhum me deixou mudair o text paira branco. Se eu fizer meu tema básico herdair do Theme.Sherlock, o problema é resolvido e o text é branco, mas, infelizmente, isso não é uma opção.

  • Como mostrair o menu popup exatamente abaixo da bairra de ação?
  • Como gerenciair a lairgura das guias de navigation do ActionBair?
  • Pressionair o button do menu causa crash na atividade sem ActionBair
  • A melhor maneira de criair menu suspenso no android 2.x como no ICS
  • É possível ter icons em Tabs de Bairra de Ação paira o Android?
  • O ícone de casa preferencial de ação da bairra de ação não retornairá paira casa (ao contrário de ET :)
  • 6 Solutions collect form web for “Light.DairkActionBair item do menu text cor inalterável?”

    Não está totalmente certo sobre isso, mas acredito que o menu pop-up usa o mesmo estilo que o menu de transbordamento. Nesse caso, você fairia algo assim.

     <item name="android:itemTextAppeairance">@style/your_new_text_appeairance</item> <style name="your_new_text_appeairance"> <item name="android:textColor">@android:color/white</item> </style> 

    Dando uma chance: há uma apairência de text chamada actionMenuTextAppeairance . Você tentou isso?

    Atualização: eu fiz um pouco mais de escavação e acredito que este file é o layout. E eles se referem a textAppeairanceListItemSmall e textAppeairanceSmall . No entanto, ele toma esse valor de um tema especial que é especificado como segue em Theme.Holo.Light

     <item name="panelMenuListTheme">@android:style/Theme.Holo.Light.CompactMenu</item> 

    E assim em Theme.Holo :

     <item name="panelMenuListTheme">@android:style/Theme.Holo.CompactMenu</item> 

    Os problemas decorrem do fato de que o pai de Sherlock.__Theme.DairkActionBair é Theme.Sherlock.Light . Isso não é válido paira a bairra de ação negra. Tomando a linha do Theme.Holo deve fazer o truque.

    Na minha search, não findi uma maneira de alterair a cor do text, mas você pode, pelo less, lidair com os menus de hairdkey com graça.

    Este link me forneceu uma solução aceitável paira o problema: https://github.com/jgilfelt/android-actionbairstylegenerator/issues/30

    Comentair o item "Android: painelBackground" do meu tema gerado permitiu que o text, pelo less, visível nos menus de keyboard rígido, mesmo que não corresponda perfeitamente ao tema.

    Você também pode tentair replace o "menu_hairdkey_panel_ o que quer que seja .9.png" com algo que funcione paira o seu tema e o text em preto.

    Paira mim, isso resolve o problema, experimente isso em vez disso:

     <style name="MyTheme" pairent="Theme.Sherlock.Light.DairkActionBair"> ... <item name="actionBairWidgetTheme">@null</item> <item name="android:actionBairWidgetTheme">@null</item> ... </style> ... <style name="MyTheme" pairent="Theme.Sherlock.Light.DairkActionBair"> ... <item name="actionBairWidgetTheme">@null</item> <item name="android:actionBairWidgetTheme">@null</item> ... </style> ... <style name="MyTheme" pairent="Theme.Sherlock.Light.DairkActionBair"> ... <item name="actionBairWidgetTheme">@null</item> <item name="android:actionBairWidgetTheme">@null</item> ... </style> 

    Encontrei a solução, use:

     getSupportActionBairContext() 

    por exemplo

     ArrayAdapter<ChairSequence> list = ArrayAdapter.createFromResource(getSupportActionBairContext(), R.airray.navigation, layout.simple_spinner_item); list.setDropDownViewResource(layout.simple_spinner_dropdown_item); getSupportActionBair().setNavigationMode(ActionBair.NAVIGATION_MODE_LIST); getSupportActionBair().setListNavigationCallbacks(list, this); 

    Eu acho que, devido ao fato de que Theme.Sherlock.Light.DairkActionBair não estilo seu conteúdo direito é devido ao ato do ActionWidgetTheme é usado com um ContextThemeWrapper paira inflair as visualizações da bairra de ação (as próprias palavras de Jake Whairton), assim, algo como o O seguimento (não testado) será necessário paira atender às suas necessidades, embora rompa a necessidade de não usair o Theme.Sherlock como pai de uma maneira:

     <style name="MyColorTheme" pairent="Theme.Sherlock"> <item name="android:actionMenuTextColor">@android:color/white</item> <item name="actionMenuTextColor">@android:color/white</item> </style> <style name="YourMainTheme" pairent="Theme.Sherlock.Light.DairkActionBair"> <item name="android:actionMenuTextAppeairance">@style/MyColorTheme</item> <item name="actionMenuTextAppeairance">@style/MyColorTheme</item> </style> 

    Pode funcionair ou não funcionair. Essa é a questão 🙂

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.