menuitem上的actionlayout什么都不做

我设置一个菜单项上的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> 

但即使所有这些设置,这是如何操作栏出现,根本不显示我的menuitem(但它在那里,因为它响应的点击,但没有出现):

在这里输入图像说明

试试app:actionLayout="@layout/check"而不是android:actionLayout="@layout/check"

如果您使用的是ActionbarSherlockAppCompatandroid:名称空间将不适用于MenuItem 。 这是因为这些库使用模仿Android API的自定义属性,因为它们在早期版本的框架中不存在。

本哈里斯的答案是绝对正确的。 但是,在某些情况下,像使用如下属性时:

  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" />