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

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

09-27 12:18