I am trying to figure out how to show a custom view for items inside the overflow menu (on right of actionbar) but I can't seem to figure it out. It still shows the title only :S. I want to do something like how twitter has it to show an icon, title, and subtitle in the first item in drop down menu. Can anyone help me out
Item in Menu.xml
<item
android:id="@+id/action_dropdown"
android:icon="@drawable/ic_action_overflow"
android:actionProviderClass="efwefwef.com.actionbar.ABDropDown"
android:title=""
android:showAsAction="always">
</item>
actionProvider Class #1
public class ABDropDown extends ActionProvider {
private static final String TAG = "MActionProvider";
private Context context;
public ABDropDown(Context context) {
super(context);
this.context = context;
}
@Override
public View onCreateActionView() {
return null;
}
@Override
public boolean hasSubMenu() {
Log.d(TAG, "hasSubMenu");
return true;
}
@Override
public boolean onPerformDefaultAction() {
Log.d(TAG, "onPerformDefaultAction");
return super.onPerformDefaultAction();
}
@Override
public void onPrepareSubMenu(SubMenu subMenu) {
subMenu.clear();
subMenu.add("Profile").setActionProvider(new ABDropDownProfile(context));
subMenu.add(Menu.NONE, Menu.NONE, 2, "Mezz 2");
}
}
Second ActionProvider class for the item I want to show a custom view
public class ABDropDownProfile extends ActionProvider {
private static final String TAG = "MActionProvider";
private Context context;
public ABDropDownProfile(Context context) {
super(context);
this.context = context;
}
@Override
public View onCreateActionView() {
View view = View.inflate(context, R.layout.actionbar_viewprofile, null);
return view;
}
@Override
public boolean hasSubMenu() {
return false;
}
@Override
public boolean onPerformDefaultAction() {
Log.d(TAG, "onPerformDefaultAction");
return super.onPerformDefaultAction();
}
}