i am setting an actionLayout on a menu item and setting background color and image, but it\'s not respected. in my activity, i have:
getMenuInflater().inflat
Try app:actionLayout="@layout/check"
instead of android:actionLayout="@layout/check"
.
If you're using ActionbarSherlock
or AppCompat
, the android:
namespace will not work for MenuItem
s. This is because these libraries use custom attributes that mimic the Android APIs since they did not exist in earlier versions of the framework.
when using Appcompact ,menu item will be like
<item android:id="@+id/cart"
app:actionLayout="@layout/actionbar_cart"
android:title="@string/action_cart"
app:showAsAction="always"
/>
The answer from Ben Harris is absolutely correct. However, in some case like when using attributes like:
app:showAsAction="ifRoom|collapseActionView"
used in SearchView (in my case), the layout view isn't shown and that caused a lot of headache to me. It seems that collapseActionView is not supported with action view in appcombat. So consider this as well while doing your stuffs.
use app namespace instead of android and it will work fine.
<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"
app:actionLayout="@layout/check"
app:showAsAction="always" />
</menu>