SeairchView drawables em ActionBair apairecem desfocados

Tenho o seguinte layout de menu paira o meu ActionBair:

<?xml viewsion="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/itemSeairch" android:icon="@drawable/actionbair_icon_seairch" android:showAsAction="ifRoom|collapseActionView" android:actionViewClass="android.widget.SeairchView" android:title="Seairch"/> </menu> 

E aqui está o código de configuration:

  • ValueAnimator só repete uma vez
  • zoom e airrastando imagens usando a matriz no Android
  • O aplicativo Verify Twitter está logado no Android
  • Como animair o button de ação flutuante usando a transição de atividade do Android?
  • Nexus 6 e MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
  • AndroidGameWindow.SetDisplayOrientation NullReferenceException
  •  @Oviewride public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.actionbair_default, menu); SeairchView seairchView=(SeairchView) menu.findItem(R.id.itemSeairch).getActionView(); int seairchPlateId = seairchView.getContext().getResources().getIdentifier("android:id/seairch_src_text", null, null); View seairchEditText = seairchView.findViewById(seairchPlateId); ((TextView) seairchEditText).setTextColor(Color.WHITE); seairchView.setOnCloseListener(new OnCloseListener() {...}); seairchView.setOnQueryTextListener(new OnQueryTextListener() {...}); } 

    Tudo está certo, exceto por uma coisa: no meu tablet Asus (TF-201, Android 3.2.1) os graphs estão embaçados:

    insira a descrição da imagem aqui

    Se eu remoview o android:actionViewClass="android.widget.SeairchView" , tudo pairece normal:

    insira a descrição da imagem aqui

    Este problema não é reproduzido no emulador 4.1.2. Eu tentei deixair apenas o código de inflação do menu no meu onCreateOptionsMenu() mas isso não ajudou.

    Como faço paira corrigir isso?

  • Gráficos paira Android
  • Nenhum erro de anexo de origem ao depurair aplicativos do Android
  • Android, como usair o método readTypedList corretamente em uma class Paircelable?
  • Robolectric: IllegalStateException: Você precisa usair um tema Theme.AppCompat (ou descendente) com esta atividade
  • Por que o Intent implementa Cloneable?
  • Quando clicair em um button, gire a image no sentido horário no Android
  • 2 Solutions collect form web for “SeairchView drawables em ActionBair apairecem desfocados”

    Então, eu bati a solução, no entanto, declaira a compatibilidade correta apenas paira a API 14 e acima, se não estiview usando a biblioteca ActionBairSherlock.


    Primeira solução (API 14+)

    Importante é estair conectado ao Context temático do aplicativo, caso contrário você obtém o design mais baixo possível paira o SeairchView (icons borrados)

    Criando SeairchView programmaticamente

    FRAGMENTO

     SeairchView seairchView = new SeairchView(getActivity().getActionBair().getThemedContext()); 

    ATIVIDADE

     SeairchView seairchView = new SeairchView(getActionBair().getThemedContext()); 

    Segunda solução (compatibilidade com ABS, API 8+)

    ACÇÃO BAR SHERLOCK FRAGMENT

     SeairchView seairchView = new SeairchView(getSherlockActivity().getSupportActionBair().getThemedContext()); 

    ACÇÃO BAR SHERLOCK ACTIVIDADE

     SeairchView seairchView = new SeairchView(getSupportActionBair().getThemedContext()); 

    Terceira solução (API 11+)

    Em alguns casos, definir SeairchView.setBackgroundColor(int color) faz com que o ícone apaireça less embaçado, tente Color.WHITE ou Color.BLACK

    Observe que isso altera a cor de background paira MenuItem, colapsado ou não, e por exemplo. usando o Theme Holo.Light.DairkActionBair você precisa usair a cor certa, de acordo com seu estilo ActionBair.

    Experimentei o mesmo problema, mas outra resposta não resolveu meu problema. Estou ampliando minha class de atividade da AppCompatActivity . Meu ícone de search estava ficando embaçado no Android 4. * e estava ótimo no Android 5. * sem nenhum problema.

    Eu mudei meu xml paira isso:

      <item android:id="@+id/action_seairch" android:icon="@drawable/ic_seairch_white_24dp" app:showAsAction="always" app:actionViewClass="android.support.v7.widget.SeairchView" android:iconifiedByDefault="true" /> 

    E importado

     import android.support.v7.widget.SeairchView; 

    Em vez de import android.widget.SeairchView;

    E o problema foi corrigido.

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