oncreateoptionMenu in android toolbar - android

Hello friends i want to create option menu like below image
so i create below menu.xml file:
<?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">
<item
android:id="#+id/live_cart"
android:orderInCategory="100"
android:showAsAction="always"
android:icon="#drawable/cart"
android:title=""/>
<item
android:id="#+id/overflow"
android:orderInCategory="100"
android:showAsAction="always"
android:icon="#drawable/ic_menu_overflow"
android:title="">
<menu>
<item android:id="#+id/action_dasbboard"
android:title="Logout"
android:showAsAction="never"
/>
<item android:id="#+id/export_data"
android:title="My accout"
android:showAsAction="never"
/>
<item android:id="#+id/action_help"
android:title="Wishlist"
android:showAsAction="never"
/>
<item android:id="#+id/action_feedback"
android:title="Track order"
android:showAsAction="never"
/>
<item android:id="#+id/about"
android:title="Help"
android:showAsAction="never"
/>
<item
android:id="#+id/terms"
android:title="Legal"
app:showAsAction="never"/>
</menu>
</item>
</menu>
When i run above code i will come like below
it is coming only one option so how can i solve this problem any idea?

insert
<item
android:id="#+id/live_cart"
android:orderInCategory="100"
app:showAsAction="always"
android:icon="#drawable/cart"
android:title=""/>
try this

Please take a look:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="#+id/live_cart"
android:icon="#drawable/ic_merge"
android:orderInCategory="100"
android:showAsAction="always"
android:title=""/>
<item
android:id="#+id/action_dasbboard"
android:showAsAction="never"
android:title="Logout"
/>
<item
android:id="#+id/export_data"
android:showAsAction="never"
android:title="My accout"
/>
<item
android:id="#+id/action_help"
android:showAsAction="never"
android:title="Wishlist"
/>
<item
android:id="#+id/action_feedback"
android:showAsAction="never"
android:title="Track order"
/>
<item
android:id="#+id/about"
android:showAsAction="never"
android:title="Help"
/>
<item
android:id="#+id/terms"
android:title="Legal"
app:showAsAction="never"/>
</menu>

Remove the second menu and then it should work:
<?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">
<item
android:id="#+id/live_cart"
android:icon="#drawable/cart"
android:orderInCategory="100"
android:showAsAction="always"
android:title="" />
<item
android:id="#+id/overflow"
android:icon="#drawable/ic_menu_overflow"
android:orderInCategory="100"
android:showAsAction="always"
android:title="" />
<item
android:id="#+id/action_dasbboard"
android:showAsAction="never"
android:title="Logout" />
<item
android:id="#+id/export_data"
android:showAsAction="never"
android:title="My accout" />
<item
android:id="#+id/action_help"
android:showAsAction="never"
android:title="Wishlist" />
<item
android:id="#+id/action_feedback"
android:showAsAction="never"
android:title="Track order" />
<item
android:id="#+id/about"
android:showAsAction="never"
android:title="Help" />
<item
android:id="#+id/terms"
android:title="Legal"
app:showAsAction="never" />
</menu>

inflate this xml in your activity
#Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

Related

Android Toolbar: sometimes icon doesn't display properly

This is my menu:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="#+id/menu_input_search"
android:title="#string/search"
android:orderInCategory="1"
app:actionViewClass="com.app.ui.widget.SearchView"
app:showAsAction="always"
android:visible="false"/>
<item
android:id="#+id/menu_search"
android:icon="#drawable/ic_search_tb"
android:orderInCategory="2"
android:visible="false"
app:showAsAction="always" />
<item
android:id="#+id/menu_favorite"
android:icon="#drawable/ic_favorite_border_tb"
android:orderInCategory="3"
android:visible="false"
app:showAsAction="always" />
<item
android:id="#+id/menu_filter"
android:icon="#drawable/ic_filter_tb"
android:orderInCategory="4"
android:visible="false"
app:showAsAction="always" />
</menu>
And sometimes, for some reasons, the "menu_favorite" icon doesn't display properly (sometimes in grey, sometimes nothing, etc.), it's crazy...

Grouping item with title in toolbar item menu

I wanna grouping this following items, this is a toolbar item menu pic 1 . I want to change it, like below : pic 2 the last one. so what should i do ? please help me. Thanks
This is my xml code :
`
<item
android:id="#+id/action_search2"
android:orderInCategory="100"
android:icon="#drawable/ic_search"
myapp:actionViewClass="android.widget.SearchView"
android:title="Search"
app:showAsAction="always"
android:visible="false"/>
<item
android:id="#+id/filter_city"
android:orderInCategory="100"
android:icon="#drawable/ic_sort_black_24dp"
android:title="filter"
app:showAsAction="always"
android:visible="true">
<menu>
<item
android:id="#+id/cityAll"
android:title="SEMUA" />
<item
android:id="#+id/citySby"
android:title="SURABAYA" />
<item
android:id="#+id/cityJkt"
android:title="JAKARTA" />
<item
android:id="#+id/statusAll"
android:title="SEMUA STATUS" />
<item
android:id="#+id/statusPublish"
android:title="PUBLISH" />
<item
android:id="#+id/statusNotPublish"
android:title="NOT PUBLISH" />
<item
android:id="#+id/statusClose"
android:title="CLOSE" />
</menu>
</item>
`
<?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:showIn="navigation_view"
tools:context=".MenuActivity">
<item
android:id="#+id/action_search2"
android:orderInCategory="100"
android:icon="#drawable/ic_search"
myapp:actionViewClass="android.widget.SearchView"
android:title="Search"
app:showAsAction="always"
android:visible="false"/>
<item
android:id="#+id/filter_city"
android:title="City"
android:orderInCategory="100"
android:icon="#drawable/ic_sort_black_24dp"
android:title="filter"
app:showAsAction="always"
android:visible="true">
<menu>
<item
android:id="#+id/cityAll"
android:title="SEMUA" />
<item
android:id="#+id/citySby"
android:title="SURABAYA" />
<item
android:id="#+id/cityJkt"
android:title="JAKARTA" />
</menu>
</item>
<item
android:id="#+id/action_search2"
android:orderInCategory="100"
android:icon="#drawable/ic_search"
myapp:actionViewClass="android.widget.SearchView"
android:title="General"
app:showAsAction="always"
android:visible="false"/>
<menu>
<item
android:id="#+id/statusAll"
android:title="SEMUA STATUS" />
<item
android:id="#+id/statusPublish"
android:title="PUBLISH" />
<item
android:id="#+id/statusNotPublish"
android:title="NOT PUBLISH" />
<item
android:id="#+id/statusClose"
android:title="CLOSE" />
</menu>
</item>
</item>
</menu>
Here is your solution try this snippet -
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<item
android:id="#+id/cityAll"
android:title="SEMUA" />
<item
android:id="#+id/citySby"
android:title="SURABAYA" />
<item
android:id="#+id/cityJkt"
android:title="JAKARTA" />
<item
android:id="#+id/statusAll"
android:title="SEMUA STATUS" />
<item
android:id="#+id/statusPublish"
android:title="PUBLISH" />
<item
android:id="#+id/statusNotPublish"
android:title="NOT PUBLISH" />
<item
android:id="#+id/statusClose"
android:title="CLOSE" />
</menu>
Here is your output -

Menu group in toolbar need item dividers

<?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">
<item
android:id="#+id/action_filter"
android:icon="#drawable/arrows_sync_icn"
android:orderInCategory="102"
android:title="Filter"
app:showAsAction="always"
>
<menu>
<group android:id="#+id/group_1">
<item
android:id="#+id/action_latest_story"
android:title="Latest stories"
/>
</group>
<group android:id="#+id/group_2">
<item
android:id="#+id/action_most_liked"
android:title="Most liked"
/>
</group>
<group android:id="#+id/group_3">
<item
android:id="#+id/action_most_shared"
android:title="Most shared"
/>
</group>
<group android:id="#+id/group_4">
<item
android:id="#+id/action_most_read"
android:title="Most read"
/>
</group>
</menu>
</item>
<item
android:id="#+id/action_notification"
android:actionLayout="#layout/lyt_notification_count"
android:icon="#drawable/notification_navigation"
android:orderInCategory="101"
android:title="Notification"
app:showAsAction="always" />
<item
android:id="#+id/action_search"
android:icon="#drawable/search_navigation"
android:orderInCategory="100"
android:title="Search"
app:actionViewClass="android.widget.SearchView"
app:showAsAction="always" />
</menu>
So this is what I'm doing now. I need to draw a item divider between each item(Orderincatogory = 102). I don't know how to do that please help if anyone know the answer. These are in toolbar and I'm testing in kitkat and lollypop device.

Image Icon with Action Bar's Option Menu Item

I want to display Action Bar's Option Menu items with Image Icon like one we use in Navigation Drawer Bar.
Right now, My app option menu is showing as below : How do I display Image icon with Item 1, Item 2 etc.
Below code solved my issue. from this link : How To show icons in Overflow menu in ActionBar
<item
android:id="#+id/empty"
android:icon="#drawable/ic_action_overflow"
android:orderInCategory="101"
android:showAsAction="always">
<menu>
<item
android:id="#+id/action_show_ir_list"
android:icon="#drawable/ic_menu_friendslist"
android:showAsAction="always|withText"
android:title="List"/>
</menu>
</item>
Here is the solution You are Looking for Copy this menu.xml And change icons and name as per your need in mipmap
<?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">
<item
android:id="#+id/main_menu"
android:actionViewClass="android.widget.ImageButton"
android:icon="#mipmap/menu"
android:orderInCategory="200"
android:title="#string/action_settings"
app:showAsAction="always">
<menu>
<item
android:id="#+id/home"
android:icon="#mipmap/home_menu"
android:title="Home" />
<item
android:id="#+id/edit_profile"
android:icon="#mipmap/my_account"
android:title="Profile" />
<item
android:id="#+id/my_account"
android:icon="#mipmap/my_account"
android:title="My Account" />
<item
android:id="#+id/messages"
android:icon="#mipmap/message1"
android:title="Messages" />
<item
android:id="#+id/notification"
android:icon="#mipmap/notification"
android:title="Notifications" />
<item
android:id="#+id/settings"
android:icon="#mipmap/settings"
android:title="Settings" />
<item
android:id="#+id/logout"
android:icon="#mipmap/logout"
android:title="Logout" />
</menu>
</item>
</menu>
Then create menu_main.xml like this
<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:orderInCategory="100"
android:title="#string/action_settings"
app:showAsAction="never" />
</menu>
Same like a drawer view
<?xml version="1.0" encoding="utf-8"?>
<group android:checkableBehavior="single">
<item
android:id="#+id/navigation_item_attachment"
android:checked="true"
android:icon="#drawable/ic_attachment"
android:title="#string/nav_item_attachment" />
<item
android:id="#+id/navigation_item_images"
android:icon="#drawable/ic_image"
android:title="#string/nav_item_images" />
<item
android:id="#+id/navigation_item_location"
android:icon="#drawable/ic_place"
android:title="#string/nav_item_location" />
</group>
<item android:title="#string/nav_sub_menu">
<menu>
<item
android:icon="#drawable/ic_emoticon"
android:title="#string/nav_sub_menu_item01" />
<item
android:icon="#drawable/ic_emoticon"
android:title="#string/nav_sub_menu_item02" />
</menu>
</item>
new menu.xml
<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.yadav.bookedup.MainActivity">
<item
android:id="#+id/action_search"
android:title="#string/action_search"
android:orderInCategory="200"
android:icon="#drawable/abc_ic_search_api_mtrl_alpha"
app:showAsAction="ifRoom|collapseActionView"
/>
<item
android:id="#+id/action_notf"
android:title="Notification"
android:orderInCategory="200"
android:icon="#drawable/notf"
app:showAsAction="ifRoom|collapseActionView"
/>
<item
android:id="#+id/action_info"
android:orderInCategory="100"
android:title="Info"
app:showAsAction="never"
android:icon="#drawable/ic_image" />
<item
android:id="#+id/req_clg"
android:orderInCategory="100"
android:title="Request College"
app:showAsAction="never"
android:icon="#drawable/ic_image" />
<item
android:id="#+id/req_book"
android:orderInCategory="100"
android:title="Request Books"
app:showAsAction="never"
android:icon="#drawable/ic_image" />
<item
android:id="#+id/share_app"
android:orderInCategory="100"
android:title="Share the app"
app:showAsAction="never"
android:icon="#drawable/ic_image" />
<item
android:id="#+id/rate_app"
android:orderInCategory="100"
android:title="Rate the App"
app:showAsAction="never" />
<item
android:id="#+id/action_terms"
android:orderInCategory="100"
android:title="Terms & Conditions"
app:showAsAction="never" />
<item
android:id="#+id/action_about"
android:orderInCategory="100"
android:title="About Us"
app:showAsAction="never" />
<item
android:id="#+id/action_contct"
android:orderInCategory="100"
android:title="Contact Us"
app:showAsAction="never" />

How to add icon to android popup menu?

I am developing sample Android application in which I am trying to display menu items in the actionbar using popup and I want to display overflow menu which contain icon . Please help me to solve these problem .
popup_menu.xml is
<menu xmlns:androclass="http://schemas.android.com/apk/res/android" >
<item
android:id="#+id/login"
android:icon="#drawable/user_icon"
app:showAsAction="ifRoom"
android:title="#string/login"/>
<item
android:id="#+id/register"
android:icon="#drawable/call_icon"
app:showAsAction="ifRoom"
android:title="#string/register"/>
<item
android:id="#+id/track_order"
app:showAsAction="ifRoom"
android:icon="#drawable/user_icon"
android:title="#string/track_order"/>
<item
android:id="#+id/policies"
android:icon="#drawable/call_icon"
app:showAsAction="ifRoom"
android:title="#string/policies"/>
<item
android:id="#+id/faq"
app:showAsAction="ifRoom"
android:title="#string/faq"
android:icon="#drawable/share_icon"/>
<item
android:id="#+id/share_app"
android:title="#string/share_app"
app:showAsAction="ifRoom"
android:icon="#drawable/share_icon"/>
<item
android:id="#+id/rateApp"
app:showAsAction="ifRoom"
android:icon="#drawable/user_icon"
android:title="#string/rate_app"/>
<item
android:id="#+id/settings"
app:showAsAction="ifRoom"
android:icon="#drawable/user_icon"
android:title="#string/settings"/> </menu>
and following code to Open the Popup-Menu
View menuItemView = findViewById(R.id.profile);
PopupMenu popupMenu = new PopupMenu(this, menuItemView);
popupMenu.inflate(R.menu.account); popupMenu.show();
See This Post and change poupup_menu.xml file like :
<menu xmlns:androclass="http://schemas.android.com/apk/res/android" >
<item
android:id="#+id/one"
android:title="One"
app:showAsAction="ifRoom"
android:icon="#drawable/icon1.png"/>
<item
android:id="#+id/two"
android:title="Two"
app:showAsAction="ifRoom"
android:icon="#drawable/icon2.png"/>
<item
android:id="#+id/three"
android:title="Three"
app:showAsAction="ifRoom"
android:icon="#drawable/icon3.png"/>
</menu>
<item
android:id="#+id/login"
android:icon="#drawable/user_icon"
app:showAsAction="ifRoom"
android:title="#string/login"/>
<item
android:id="#+id/register"
android:icon="#drawable/call_icon"
app:showAsAction="ifRoom"
android:title="#string/register"/>
<item
android:id="#+id/track_order"
app:showAsAction="ifRoom"
android:icon="#drawable/user_icon"
android:title="#string/track_order"/>
<item
android:id="#+id/policies"
android:icon="#drawable/call_icon"
app:showAsAction="ifRoom"
android:title="#string/policies"/>
<item
android:id="#+id/faq"
app:showAsAction="ifRoom"
android:title="#string/faq"
android:icon="#drawable/share_icon"/>
<item
android:id="#+id/share_app"
android:title="#string/share_app"
app:showAsAction="ifRoom"
android:icon="#drawable/share_icon"/>
<item
android:id="#+id/rateApp"
app:showAsAction="ifRoom"
android:icon="#drawable/user_icon"
android:title="#string/rate_app"/>
<item
android:id="#+id/settings"
app:showAsAction="ifRoom"
android:icon="#drawable/user_icon"
android:title="#string/settings"/>

Categories

Resources