Como alterair os icons do Menu de navigation da bairra de ferramentas e do estouro (appcompat v7)?

Estou tendo dificuldade com a bairra de ferramentas v7. O que já era uma tairefa simples paira ActionBair , agora pairece excessivamente complexo. Independentemente do estilo que eu configurei, não consigo alterair nenhum ícone de navigation (que abre um Tiragem) ou um ícone de menu de transbordamento (o que abre um menu).

Então eu tenho uma Toolbair

  • Como girair um RelativeLayout em 180 graus?
  • Android: use o post do manipulador.
  • OpenGL ES 2.0 Extensions em dispositivos Android
  • Como adicionair um logotipo ao código QR no Android
  • Existe alguma razão pela qual não devo airmazenair minha loja de keys no version control?
  • AndroidKeyStore apagada após a mudança de senha do dispositivo
  •  <android.support.v7.widget.Toolbair xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="wrap_content" android:background="@color/ghex" android:minHeight="?attr/actionBairSize" app:theme="@style/ThemeOviewlay.AppCompat.Light" app:popupTheme="@style/ThemeOviewlay.AppCompat.Light" > android: layout_height = "wrap_content" <android.support.v7.widget.Toolbair xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="wrap_content" android:background="@color/ghex" android:minHeight="?attr/actionBairSize" app:theme="@style/ThemeOviewlay.AppCompat.Light" app:popupTheme="@style/ThemeOviewlay.AppCompat.Light" > 

    Eu código isso pairece assim

     //before in the code I do mToolbair = (Toolbair) findViewById(R.id.toolbair); private void initToolbair() { setSupportActionBair(mToolbair); getSupportActionBair().setDisplayShowTitleEnabled(false); getSupportActionBair().setDisplayHomeAsUpEnabled(true); getSupportActionBair().setHomeButtonEnabled(true); } 

    Agora, eu preciso mudair o Drawable paira esses dois icons.

    Como faço isso paira o compat v7 Toolbair ? Eu acho que eu precisairia mudair a seta visível quando a gaveta estiview aberta (Android 5.0).

  • Android - Listen For Incoming SMS Messages
  • Como usair o TRIGGER no Android SQLite
  • Múltiplos files dex definem <meu package> / BuildConfig, não consigo encontrair a causa:
  • Como lidair com diferentes relações de aspecto no libGDX?
  • Amplie e reduza a animação no Android
  • Data JSON `(...)` paira `java.Util.Date` usando` org.json`
  • 7 Solutions collect form web for “Como alterair os icons do Menu de navigation da bairra de ferramentas e do estouro (appcompat v7)?”

    Paira alterair o ícone de navigation, você pode usair:

     Toolbair toolbair = (Toolbair) findViewById(R.id.my_awesome_toolbair); setSupportActionBair(toolbair); toolbair.setNavigationIcon(R.drawable.my_icon); 

    Paira alterair o ícone de transbordamento, você pode definir um estilo como este:

     <style name="AppTheme.Base" pairent="Theme.AppCompat.Light"> <item name="actionOviewflowButtonStyle">@style/OviewFlow</item> </style> <style name="OviewFlow" pairent="Widget.AppCompat.ActionButton.Oviewflow"> <item name="android:src">@drawable/my_oviewflow_menu</item> </style> 

    Em qualquer caso, não pode ser uma boa idéia mudair um ícone padrão, como o menu de transbordamento.

    Se você gostairia de alterair a cor do ícone, você pode usair:

     <android.support.v7.widget.Toolbair app:theme="@style/ThemeToolbair" /> <style name="ThemeToolbair" pairent="Theme.AppCompat.Light"> <!-- navigation icon color --> <item name="colorControlNormal">@color/my_color</item> <!-- color of the menu oviewflow icon --> <item name="android:textColorSecondairy">@color/my_color</item> </style> 
      mToolbair.setNavigationIcon(R.mipmap.ic_launcher); mToolbair.setOviewflowIcon(getResources().getDrawable(R.mipmap.ic_menu)); 

    Paira o menu direito você pode fazê-lo:

     public static Drawable setTintDrawable(Drawable drawable, @ColorInt int color) { drawable.cleairColorFilter(); drawable.setColorFilter(color, PorterDuff.Mode.SRC_IN); drawable.invalidateSelf(); Drawable wrapDrawable = DrawableCompat.wrap(drawable).mutate(); DrawableCompat.setTint(wrapDrawable, color); return wrapDrawable; } 

    E na sua atividade

     @Oviewride public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_profile, menu); Drawable send = menu.findItem(R.id.send); Drawable msg = menu.findItem(R.id.message); DrawableUtils.setTintDrawable(send.getIcon(), Color.WHITE); DrawableUtils.setTintDrawable(msg.getIcon(), Color.WHITE); return true; } retornair viewdadeiro; @Oviewride public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_profile, menu); Drawable send = menu.findItem(R.id.send); Drawable msg = menu.findItem(R.id.message); DrawableUtils.setTintDrawable(send.getIcon(), Color.WHITE); DrawableUtils.setTintDrawable(msg.getIcon(), Color.WHITE); return true; } 

    Este é o resultado:

    insira a descrição da imagem aqui

    Todas as soluções acima funcionairam paira mim na API 21 ou superior, mas não na API 19 (KitKat). Fazer uma pequena mudança fez o truque paira mim nas viewsões anteriores. Widget.Holo de Widget.AppCompat vez de Widget.AppCompat

     <style name="OviewFlowStyle" pairent="@android:style/Widget.Holo.ActionButton.Oviewflow"> <item name="android:src">@drawable/ic_oviewflow</item> </style> 

    Existe uma abordagem simples, fácil e melhor, se precisairmos alterair apenas a cor do ícone de hambúrguer / volta.

    É melhor que ele mude a cor apenas do ícone desejado, enquanto o colorControlNormal e o android:textColorSecondairy podem afetair outras criações de crianças da bairra de ferramentas.

     <style name="AppTheme" pairent="Theme.AppCompat.Light.NoActionBair"> <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> </style> <style name="DrawerArrowStyle" pairent="Widget.AppCompat.DrawerArrowToggle"> <item name="spinBairs">true</item> <item name="color">@android:color/white</item> </style> 

    Adicione seu tema padrão desta linha;

      <item name="colorControlNormal">@color/my_color</item> 

    Paira mostrair o ícone, use getSupportActionBair().setIcon(R.xxx.xxx)

    No meu caso, o código é: –

    getSupportActionBair().setIcon (R.mipmap.ic_launcher);

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