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"
。
如果您使用的是ActionbarSherlock
或AppCompat
, android:
名称空间将不适用于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" />