how can i set icon for actionbar menu items - android

i simply want to use and set icon for actionBar menu items in xml and this is my code:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="#+id/action_search"
android:icon="#drawable/ic_action_search"
android:title="#string/action_search"
android:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="android.widget.SearchView" />
<item android:id="#+id/my_action"
android:icon="#drawable/ic_action_edit"
android:hint="#string/your_mind"
android:textColorHint="#android:color/white"
android:title="#string/action_search"
android:showAsAction="ifRoom|collapseActionView"
android:actionLayout="#layout/my_action" />
<item android:id="#+id/about_me"
android:title="#string/about"
android:icon="#drawable/ic_home" //CUSTOM ICON
android:showAsAction="ifRoom|collapseActionView" />
<item android:id="#+id/action_settings"
android:title="#string/action_settings"
android:icon="#android:drawable/ic_menu_help" //DEFAULT ANDROID ICONS
android:showAsAction="ifRoom|collapseActionView" />
</menu>
The default or custom icon do not show with menu items.
SCREEN SHOT:
this is screen shot is latest running project with set icons for menu items. but menu items dont have any icons.

The icon can be shown only inside the ActionBar but inside the overflow menu

Try this
<item
android:id="#+id/action_search"
android:icon="#drawable/ic_action_search"
android:title="#string/action_search"
android:orderInCategory="100"
android:showAsAction="always|withText"/>

Related

How does android action bar work?

<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=".MainActivity">
<item
android:id="#+id/action_settings"
android:title="Settings"
android:orderInCategory="100"
app:showAsAction="never" />
<item android:id="#+id/action_search"
android:orderInCategory="200"
android:title="Search"
android:icon="#android:drawable/ic_search_category_default"
app:showAsAction="ifRoom" />
<item android:id="#+id/action_user"
android:orderInCategory="300"
android:title="User"
android:icon="#android:drawable/ic_dialog_info"
app:showAsAction="ifRoom" />
</menu>
I'm experimenting with android action bar and I'm confused how the settings and other actions are added to my action bar from the menu.
How did android determine that the first item in my list is to be added the three dot menu?
Because you asked android to not show it as action, like this:
app:showAsAction="never"
while for other items you show them when there is enough space to show:
app:showAsAction="ifRoom"

How to Button on Toolbar in android

I am working on android application , i want to add button on toolbar. I am using menu item but this coming in dropdown but i want simple text or button(forward button or reset button) on toolbar.
Add this to your menu element
android:showAsAction="ifRoom"
To see icon instead drop menu
Write your menu as
<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="com.example.toolbar.MainActivity" >
<item
android:id="#+id/action_search"
android:menuCategory="secondary"
android:orderInCategory="1"
app:showAsAction="always"
android:title="action_search"
app:actionViewClass="android.support.v7.widget.SearchView"/>
<item
android:id="#+id/action_share"
android:icon="#drawable/ic_share_white_24dp"
android:menuCategory="secondary"
android:orderInCategory="2"
app:showAsAction="always"
android:title="action_share"/>
<item
android:id="#+id/action_settings"
android:orderInCategory="100"
android:title="action_settings"
app:showAsAction="never"/>
</menu>
to see your menu items as icons

Custom Search Icon in Action Bar Search

I need my custom search icon instead of default search icon on action bar. Below is my xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="#+id/action_filter"
android:icon="#drawable/filter"
android:orderInCategory="100"
android:showAsAction="always"
android:title="#null"/>
<item
android:id="#+id/action_search"
android:actionViewClass="android.widget.SearchView"
android:icon="#drawable/list_search"
android:showAsAction="always"/>
</menu>
For filter its showing the image I have used in android:icon but for search its displaying the default one. I am not sure if I am missing something. Please advise.
Try this help you
<item android:id="#+id/action_search"
android:actionViewClass="android.widget.SearchView"
android:icon="#drawable/list_search"
android:showAsAction="ifRoom|withText"/>

how do i keep my all menus in a dropdown item and home menue at the left point?

i have added menues in my menue item in xml.now i want to keep the home icon only at the very right of the action bar and the others will remain in three dots and when someone clicks them they will collapse down in a group.
that is my xml
<item
android:id="#+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="#string/action_settings"/>
<item android:id="#+id/Homebar"
android:title="Home"
android:orderInCategory="1"
android:showAsAction="always"
/>
<item android:id="#+id/infobar"
android:title="Info"
android:orderInCategory="2"
android:showAsAction="collapseActionView"
/>
<item android:id="#+id/servicebar"
android:title="Services"
android:orderInCategory="3"
android:showAsAction="always"
/>
<item android:id="#+id/onlinetoolsbar"
android:title="Online tools"
android:orderInCategory="4"
android:showAsAction="always"
/>
<item android:id="#+id/mediacenterbar"
android:title="Media center"
android:orderInCategory="5"
android:showAsAction="always"
/>
i solved it by adding an icon at the very right of the top and put the drop down on action.

Displaying icon along with text in Android overflow menu of Action Bar

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
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.
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
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>
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

Categories

Resources