Add icons to the Actionbar

2

I am looking for the following: put the icon and next to the title, as shown in the image where the Google Photos icon is and next to it says Photos .

I have the following code:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/admin"
        android:orderInCategory="100"
        android:icon="@mipmap/ic_email_white_24dp"
        android:title="Enviar Comentario"
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/acerca"
        android:orderInCategory="100"
        android:title="Acerca de"
        app:showAsAction="never" />
    <item
        android:id="@+id/salir"
        android:orderInCategory="100"
        android:title="Salir"
        app:showAsAction="never" />
</menu>

what I have when I open it, only the text is displayed and not the icon plus the text. Any suggestions?

    
asked by Ashley G. 25.12.2016 в 18:21
source

2 answers

5

Try putting the menu in the following way:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="es.uv.lisitt.actionbartest.MainActivity">
>

   <item
       android:id="@+id/empty"
       android:icon="@mipmap/ic_launcher"
       android:orderInCategory="101"
       app:showAsAction="always">
       <menu>
            <item
                android:id="@+id/admin"
                android:orderInCategory="100"
                android:icon="@mipmap/ic_launcher"
                android:title="Enviar Comentario"
                app:showAsAction="always|withText" />
            <item
                android:id="@+id/acerca"
                android:orderInCategory="100"
                android:title="Acerca de"
                android:icon="@mipmap/ic_launcher"
                app:showAsAction="always|withText" />
            <item
                android:id="@+id/salir"
                android:orderInCategory="100"
                android:title="Salir"
                android:icon="@mipmap/ic_launcher"
                app:showAsAction="always|withText" />
        </menu>
    </item>
</menu>

where your list of items will be a submenu where you force them to always show along with the text with these properties: showAsAction="always|withText"

Edited:

I have modified the previous code and I have tested it in a test project and it works correctly.

I've tried it with the following gradle configuration:

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.1"
    defaultConfig {
        applicationId "es.prueba.actionbartest"
        minSdkVersion 9
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}

Leaving the menu as follows:

    
answered by 25.12.2016 / 19:23
source
0

Try using android: showAsAction="ifRoom"

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

   <item
       android:id="@+id/empty"
       android:icon="@drawable/ic_action_overflow"
       android:orderInCategory="101"
       android:showAsAction="always">
       <menu>
            <item
                android:id="@+id/admin"
                android:orderInCategory="100"
                android:icon="@mipmap/ic_email_white_24dp"
                android:title="Enviar Comentario"
                app:showAsAction="ifRoom|withText" />
            <item
                android:id="@+id/acerca"
                android:orderInCategory="100"
                android:title="Acerca de"
                app:showAsAction="ifRoom|withText" />
            <item
                android:id="@+id/salir"
                android:orderInCategory="100"
                android:title="Salir"
                app:showAsAction="ifRoom|withText" />
        </menu>
    </item>
</menu>
    
answered by 26.12.2016 в 19:10