我在菜单项上设置了一个actionLayout并设置了背景颜色和图像,但是没有遵守。在我的 Activity 中,我有:
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>
但是即使使用了所有这些设置,操作栏仍会这样显示,根本不显示我的菜单项(但它在那里,因为它响应单击,但不显示):
最佳答案
尝试使用app:actionLayout="@layout/check"
而不是android:actionLayout="@layout/check"
。
如果您使用的是ActionbarSherlock
或AppCompat
,则android:
命名空间不适用于MenuItem
。这是因为这些库使用模仿Android API的自定义属性,因为它们在框架的早期版本中不存在。