Reputation: 3748
Is there a way in which we can display icon along with text in android over flow menu of action bar.
My code is below :
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_share"
android:title="share"
android:showAsAction="always"
android:actionProviderClass="android.widget.ShareActionProvider" />
<item
android:id="@+id/action_search"
android:showAsAction="always|collapseActionView"
android:icon="@drawable/ic_menu_search"
android:title="Search"
android:actionViewClass="android.widget.SearchView">
<item
android:id="@+id/item_refresh"
android:icon="@drawable/ic_menu_refresh"
android:title="Refresh"
android:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/item_save"
android:icon="@drawable/ic_menu_save"
android:title="Save"
android:showAsAction="ifRoom|withText"
></item>
</menu>
Can anyone help me is sorting out this issue. I need to display both icon along with text in overflow that appears on the top right of action bar.
Thanks in advance
Upvotes: 3
Views: 6291
Reputation: 796
you Need to add tools:context="your class" to menu tag
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activities.BaseActivity">
<item
android:id="@+id/action_notification1"
android:icon="@drawable/three"
android:title="action_notification"
app:showAsAction="always">
<menu>
<item
android:id="@+id/profile"
android:icon="@drawable/profile"
android:orderInCategory="100"
android:title="PROFILE" />
<item
android:id="@+id/c"
android:icon="@drawable/correct_tick"
android:orderInCategory="100"
android:title="COMPLETED TRIPS" />
<item
android:id="@+id/app"
android:icon="@drawable/report_issue"
android:orderInCategory="100"
android:title="REPORT ISSUES" />
<item
android:id="@+id/r"
android:icon="@drawable/correct_tick"
android:orderInCategory="100"
android:title="REACHED CENTER" />
<item
android:id="@+id/pdf"
android:icon="@drawable/pdf_image"
android:orderInCategory="100"
android:title="BAG INFO" />
<item
android:id="@+id/l"
android:icon="@drawable/logout"
android:orderInCategory="100"
android:title="LOGOUT" />
</menu>
</item>
</menu>
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
menu.getItem(0).getSubMenu().getItem(3).setVisible(false);
menu.getItem(0).getSubMenu().getItem(4).setVisible(true);
return super.onCreateOptionsMenu(menu);
}
you shold write tool:context to menu tag then run you will get icons to your text
Upvotes: 0
Reputation: 1209
Try creating customized overflow menu:
<item
android:id="@+id/action_overflow"
android:icon="@drawable/overflow"
android:showAsAction="always">
<menu>
<item android:id="@+id/menu_share"
android:title="share"
android:showAsAction="always"
android:actionProviderClass="android.widget.ShareActionProvider" />
<item
android:id="@+id/action_search"
android:showAsAction="always|collapseActionView"
android:icon="@drawable/ic_menu_search"
android:title="Search"
android:actionViewClass="android.widget.SearchView">
<item
android:id="@+id/item_refresh"
android:icon="@drawable/ic_menu_refresh"
android:title="Refresh"
android:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/item_save"
android:icon="@drawable/ic_menu_save"
android:title="Save"
android:showAsAction="ifRoom|withText"
></item>
</menu>
</item>
Upvotes: 0
Reputation: 44571
AFAIK, this is not possible. What you can do is use a ListPopupWindow to accompish this. I had to use a custom bar instead of ActionBar
, since it doesn't seem very customizable and I have used PopupMenu but I haven't tried to put icons in yet. But ListPopupWindow
should allow you too. You may have to use a custom bar. Possibly attach it to the oveflow
button somehow but I'm not sure that is possible
Note that ListPopupWindow
needs API >=11
Upvotes: 0
Reputation: 396
As far as I understand, Action Overflow just displays the text (android:title). I've been looking through some apps, and none of them have "icon+text" on items within the Action Overflow.
Upvotes: 1