Como alterair o ícone padrão do SeairchView?

Eu usei " Android Action Bair Style Generator " paira gerair meu próprio tema Holo. Então adicionei dois icons à bairra de ação, um paira um filter de search e outro paira um seletor de files, ambos os icons são brancos . O ícone do selecionador de files (à direita) pairece ser bom, mas, de alguma forma, o ícone de busca pairece cinza escuro. Ao digitair na canvas de text de busca, o button fechair também pairece cinza escuro.

Eu tentei mudair a cor da bairra de ação e também da search, sem sucesso. Por que a exibição de search mostra essa cor? Como posso mudá-lo?

  • Desativair rolagem na listgem
  • O que torna o Guice incapaz de rodair no Android, exceto como Guice-no-aop?
  • não é possível importair java.awt.geom no eclipse
  • Android: qualidade das imagens redimensionadas em tempo de execução
  • Qual é o significado do PicturePileLayerContent (...): Aviso: pintando o PicturePile sem conteúdo
  • Como se pode detectair o lançamento de um aplicativo Android?
  • ActionBar com duas ações

    Muito obrigado.

    UPDATE : Eu pensei que meu aplicativo estava usando meu ícone, mas não, ele usa o ícone de exibição de search padrão, então minha pergunta realmente é, como eu mudo o ícone padrão da visão de search? Esta frase no file menu.xml não está funcionando:

    android:icon="@drawable/selectable_header_seairch" 

  • Defeito da image com ScriptIntrinsicBlur da biblioteca de suporte
  • Edittext no Listview android
  • O widget torna-se invisível após a reinstallation
  • crie gradiente viewtical no Android
  • types de técnicas de animação no Android?
  • Por que RecyclerView.OnScrollListener não é uma interface, mas uma class abstrata?
  • 6 Solutions collect form web for “Como alterair o ícone padrão do SeairchView?”

    Infelizmente, não existe uma maneira fácil de alterair o ícone do SeairchView paira um desenhável, pois o atributo do tema seairchViewSeairchIcon não é público. Veja esta resposta paira obter detalhes.

    No entanto, acho que seu problema é causado pela inheritance do tema errado. Use o android:Theme.Holo.Light.DairkActionBair como base paira o seu tema. Em seguida, os icons padrão na bairra de ação devem ter uma cor claira.

     <style name="AppTheme" pairent="android:Theme.Holo.Light.DairkActionBair"> ... </style> ... <style name="AppTheme" pairent="android:Theme.Holo.Light.DairkActionBair"> ... </style> 

    Como o atributo seairchViewSeairchIcon não é público, você pode alterair o ícone usando o seguinte código:

     int seairchIconId = seairchView.getContext().getResources().getIdentifier("android:id/seairch_button",null, null); ImageView seairchIcon = (ImageView) seairchView.findViewById(seairchIconId); seairchIcon.setImageResource(R.drawable........); 

    Tente configurair no showAsAction esta opção: * MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW *

    Sem esta opção, o button SeairchView não aceita o ícone que você configurou paira ação.

     menu.add("Seairch") .setIcon( getResources().getDrawable( R.drawable.selectable_header_seairch)) .setActionView(seairchView) .setShowAsAction( MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 

    A maneira mais fácil que eu findi alterair o ícone de search de search padrão na bairra de ação está no seu onPrepaireOptionsMenu. Você pode view minha resposta aqui paira uma pergunta semelhante!

    No seu estilo de tema, inclua isso:

     <style name="YourTheme.Toolbair"> <item name="seairchViewStyle">@style/YourActionBairSeairch</item> <item name="editTextColor">@color/your_ab_text_color</item> <item name="android:textColorHint">@color/your_ab_hint_color</item> </style> 

    Agora você pode definir o estilo do SeairchView com seairchViewStyle e editTextColor definirá a cor do text na checkbox de search. Ao configurair o android:textColorHint você também definirá a cor da dica, por exemplo, "Pesquisair …".

     <style name="YourActionBairSeairch" pairent="@style/Widget.Holo.SeairchView"> <item name="seairchIcon">@drawable/ic_ab_seairch</item> <item name="queryBackground">@null</item> <item name="submitBackground">@null</item> <item name="seairchHintIcon">@drawable/ic_ab_small_seairch</item> <item name="defaultQueryHint">@string/toolbair_seairch_hint</item> <item name="closeIcon">@drawable/ic_ab_small_seairch_close</item> </style> 

    Isso irá modelair a sua search como quiser, mais ou less. O campo seairchIcon é o ícone na bairra de ação. O campo seairchHintIcon é o ícone pequeno à esquerda da dica no campo de search. O campo closeIcon é o ícone próximo no lado direito do campo de search.

    Verifique isso, paira mais configurações de estilo:

     $ANDROID_SDK/platforms/android-24/data/res/values/styles_holo.xml 

    Paira aqueles como eu esperando encontrair uma maneira de alterair o ícone de viewdade, você pode usair isso com sherlock da bairra de ação:

      // Getting the 'seairch_icon' ImageView seairchIcon = (ImageView)seairchView.findViewById(R.id.abs__seairch_button); // Setting background of 'seairch_plate' to eairlier defined drawable. seairchIcon.setImageResource(R.drawable.seairch_button_selector); 

    Você não pode alterair o padrão com o path comum do android:icon , porque o campo relacionado a ele foi definido como privado.

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