Actionlayout на menuitem ничего не делает

Я устанавливаю actionLayout на элемент меню и устанавливаю цвет фона и изображение, но это не соблюдается. В моей деятельности у меня есть:

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

Мой submit_action:

 <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_submit" android:actionLayout="@layout/check" app:showAsAction="always" /> </menu> 

Мой макет проверки

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" style="?android:attr/actionButtonStyle" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#e8e8e8" android:clickable="true" android:contentDescription="lol" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@null" android:scaleType="centerInside" android:src="@drawable/ic_action_tick" /> </RelativeLayout> 

Но даже со всей этой настройкой это выглядит как панель действий, не отображающая мой пункт меню вообще (но она есть, потому что она реагирует на щелчок, но не появляется):

Введите описание изображения здесь

Solutions Collecting From Web of "Actionlayout на menuitem ничего не делает"

Попробуйте app:actionLayout="@layout/check" вместо android:actionLayout="@layout/check" .

Если вы используете ActionbarSherlock или AppCompat , пространство имен android: не будет работать для MenuItem s. Это связано с тем, что в этих библиотеках используются пользовательские атрибуты, которые имитируют API Android, так как они не существовали в ранних версиях фреймворка.

Ответ от Бена Харриса абсолютно прав. Однако в некоторых случаях, например, при использовании таких атрибутов, как:

  app:showAsAction="ifRoom|collapseActionView" 

Используемый в SearchView (в моем случае), представление макета не показано, и это вызвало у меня большую головную боль. Кажется, что collapseActionView не поддерживается видом действия в appcombat. Так что подумайте об этом, когда делаете свои вещи.

При использовании Appcompact, пункт меню будет подобен

 <item android:id="@+id/cart" app:actionLayout="@layout/actionbar_cart" android:title="@string/action_cart" app:showAsAction="always" />