15

I'm trying to show custom layout as an item in options menu. And this is what I have done so far

<item
    android:id="@+id/action_profile"
    android:orderInCategory="100"
    android:title="Profile"
    android:actionLayout="@layout/layout_menu_profile"
    app:showAsAction="never" />

I tried

    app:actionLayout="@layout/layout_menu_profile"

as well as per this SO link but still it shows only title - Profile

I have created new project through Android Studio 1.5 with Blank Activity. with minSDK = 15 and targetSDK = 23

Following is the code in Blank Activity.

@Override
 public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.menu_home, menu);

    MenuItem item = menu.findItem(R.id.action_profile);


    return true;
}

where am I going wrong ?

Community
  • 1
  • 1
Nayanesh Gupte
  • 2,735
  • 25
  • 37

3 Answers3

65

use app:actionLayout instead of android:actionLayout.

<item
   ...
   app:actionLayout="@layout/layout_menu_profile"  
   app:showAsAction="always" />
Roshana Pitigala
  • 8,437
  • 8
  • 49
  • 80
2

Try this code

<item
android:id="@+id/action_profile"
android:orderInCategory="100"
android:title="Profile"
android:actionLayout="@layout/layout_menu_profile"
app:showAsAction="always" />

Just set the showAsAction elements to always

D G
  • 176
  • 1
  • 8
2

Use "app:" instead of "android:"

app:actionLayout="@layout/layout_menu_profile"