Вы должны предоставить пользовательский макет для пункта меню.
Во-первых, в меню XML установить одно из следующих действий
СЛУЧАЙ 1 если вы используете библиотеку поддержки:
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_save"
android:title="@string/action_save"
android:icon="@drawable/ic_action_save"
android:orderInCategory="100"
app:showAsAction="always"
app:actionLayout="@layout/layout_menu_save"/>
</menu>
СЛУЧАЙ 2 если вы не с помощью поддержка библиотеки:
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_save"
android:title="@string/action_save"
android:icon="@drawable/ic_action_save"
android:orderInCategory="100"
android:showAsAction="always"
android:actionLayout="@layout/layout_menu_save"/>
</menu>
в actionLayout (layout_menu_save.xml в моем примере) написать следующее:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/background_transparent_stateful">
<com.example.YourCustomTypefaceTextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:gravity="center_vertical"
android:text="@string/action_save"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:gravity="center_vertical"
android:src="@drawable/ic_action_save"
android:contentDescription="@string/action_save"/>
</LinearLayout>
Фоновый Drawable (background_transparent_stateful) полезно иметь сенсорную обратную связь на пользовательском макете:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true"
android:drawable="#20FFFFFF">
</item>
<item
android:drawable="@android:color/transparent">
</item>
</selector>
Таким образом, вы с текстом с пользовательским шрифтом слева в виде метки с иконкой справа.
Очевидно, что вы можете настроить макет по своему усмотрению!
EDIT:
Если вы используете библиотеку поддержки и ваша деятельность Тема расширяет AppCompatTheme вы можете получить типичную Lollipop «мультипликационный эффект» для более перспективных сенсорной обратной связи. Просто замените собственный фон с:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackgroundBorderless">
...
</LinearLayout>
может быть, это даст вы подсказку :) см. ответ ниже :) http://stackoverflow.com/questions/4135 699/как-установить-шрифт для опций-меню – superJen