Ícones no ActionBar (Android)

Olá, estou começando a programar em Android porém cheguei em um problema que não encontro soluções na internet.
O “Aplicativo” possuí apenas duas telas, a inicial e outra tela de formulário (que não possuí ação), e resolvi colocar um ActionBar para melhorar o uso do aplicativo, na ActionBar aparece os titles porém não os ícones que foram atribuídos.

Para explicar melhor:

Como fica:


Desejado:

O Código é esse abaixo:
Arquivo, menu_lista_alunos:

`` <?xml version="1.0" encoding="utf-8"?>

<item
    android:id="@+id/novo"
    android:icon="@mipmap/ic_novo"
    android:showAsAction="always"
    android:title="Novo"
    tools:ignore="AppCompatResource" />

<item
    android:id="@+id/mapa"
    android:icon="@mipmap/ic_mapa"
    android:showAsAction="always"
    android:title="Mapa"
    tools:ignore="AppCompatResource" />
<item
    android:title="Mais Opções"
    android:icon="@mipmap/ic_opcoes"
    android:showAsAction="always">

    <menu>
        <item
            android:id="@+id/enviar_alunos"
            android:icon="@mipmap/ic_enviar"
            android:showAsAction="always"
            android:title="Enviar Alunos"
            tools:ignore="AppCompatResource" />

        <item
            android:id="@+id/recebe_alunos"
            android:icon="@mipmap/ic_receber"
            android:showAsAction="always"
            android:title="Recebe Alunos"
            tools:ignore="AppCompatResource" />

        <item
            android:id="@+id/preferencias"
            android:icon="@mipmap/ic_preferencias"
            android:showAsAction="always"
            android:title="Preferencias"
            tools:ignore="AppCompatResource" />
    </menu>
</item>
``

Altere o android:showAsAction=“always” para android:showAsAction=“withText” e ele exibira o titulo ao lado do ícone.

always: Ele somente indica que o botão deve ficar visível.

withText: É o que mostra o botão como ícone na action bar caso tenha espaço disponível, se não ele exibira somente o botão com o texto na action overflow.

Olá @jonathansky Tentei fazer o que você recomendou porém continuou do mesmo jeito. E eu me expressei errado, como mostra as fotos, eu desejo que seja exibido apenas os ícones e não o texto.

1)- Entre na sua activity.java e modifique o item desejado para android:showAsAction=“never” assim ele será exibido na action overflow em vez da action bar e tire qualquer referencia a texto que o item contenha.

2)- implemente o código destacado a baixo na sua MainActivity.java

//trecho de codigo MainActivity.java

public boolean onCreateOptionsMenu(Menu menu) {
        // Infla o menu com os botões da action bar 

        getMenuInflater().inflate(R.menu.menu_main, menu);

/*trecho de código necessária na sua MainActivity.java, aparentemente ele modifica o menu para mostrar a icon
*/

              try{
                    Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
                    m.setAccessible(true);
                    m.invoke(menu, true);
                } catch(NoSuchMethodException e){
                } catch(Exception e){
                    throw new RuntimeException(e);
                }

         return true;
     }

http://pt.stackoverflow.com/questions/37845/como-aparecer-ícone-na-action-bar-quando-item-estiver-no-overflow

@jonathansky Muito obrigado. Você me ajudou bastante

1 curtida

Obrigado eu, boa sorte e muito sucesso!!! o/