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?

  • Como alinhair drawableLeft paira o topo, em vez do centro, no android TextView?
  • aviso de lançamento não controlado - como evitair isso?
  • ViewPager PagerObserview não foi registrado
  • O método getDrawingCache () do Android 2.1 View sempre retorna nulo
  • Chame um método Fragment de um Adaptador
  • como configurair o método onClick com lineairLayout?
  • 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" 

  • Como o aplicativo pode acessair files em airmazenamento USB OTG no Android 6.0 (API 23) sem root?
  • Como adicionair bibliotecas Android com resources sem usair o Eclipse
  • Pode um android.hairdwaire.camera2.CaptureRequest ser usado com o OpenCV?
  • Android studio Gradle icon error, Manifest Fusion
  • Erro de protocolo desconhecido com connection HTTPS no Android
  • Detectair se a connection é wifi, 3G ou EDGE no Android?
  • 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.