I downloadet a template and I have this problem:
https://gyazo.com/5161740a619bacb8aa8bd430a3e40b2d
The "Inbox" button is too close to the top and it looks bad.
I want to set a marginTop from 10dp, is that possible?
Here is my "drawermenu.xml"
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="Inbox"
android:id="#+id/nav_item_inbox"
android:icon="#drawable/inbox" />
<item android:title="Sent"
android:id="#+id/nav_item_sent"
android:icon="#drawable/sent"/>
<item android:title="Drafts"
android:id="#+id/nav_item_draft"
android:icon="#drawable/draft"/>
<item android:title="Others">
<menu>
<item
android:title="Spam"
android:icon="#drawable/spam"/>
<item
android:title="Bin"
android:icon="#drawable/bin"/>
</menu>
</item>
<group android:id="#+id/group_settings_id">
<item android:title="Settings"
android:icon="#drawable/settings"/>
<item android:title="Help"
android:icon="#drawable/help"/>
</group>
</menu>
Related
I'm trying to get a menu layout where I have 2 icons next to each other which both have dropdown options. Currently it's being annoying and putting all the items in the default option menu like this:
image
<?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:title="#string/menu_sort"
android:id="#+id/menu_sort"
app:showAsAction="always"
android:icon="#drawable/ic_baseline_sort_24">
<item android:title="Distance"/>
<item android:title="Salary"/>
<item android:title="Date Posted"/>
</item>
<item
android:title="#string/menu_filter"
android:id="#+id/menu_filter"
app:showAsAction="always"
android:icon="#drawable/ic_baseline_filter_list_24">
<item android:title="Freelance"/>
<item android:title="Zero Hour"/>
<item android:title="Part Term"/>
<item android:title="Internship"/>
</item>
</menu>
Maybe this can help....
<?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:title="#string/menu_sort"
android:id="#+id/menu_sort"
app:showAsAction="always"
android:icon="#drawable/ic_baseline_sort_24">
<menu>
<item android:title="Distance"/>
<item android:title="Salary"/>
<item android:title="Date Posted"/>
</menu>
</item>
<item
android:title="#string/menu_filter"
android:id="#+id/menu_filter"
app:showAsAction="always"
android:icon="#drawable/ic_baseline_filter_list_24">
<menu>
<item android:title="Freelance"/>
<item android:title="Zero Hour"/>
<item android:title="Part Term"/>
<item android:title="Internship"/>
</menu>
</item>
</menu>
You add <menu></menu> inside an item and add submenu items there....
I want to add the title of the group of items of the submenu. I don't want to use the submenus which are hidden and open on its click, I want to implement a title of the group of menu items. So now my menu looks like this:
But I want to implement it like this:
Now my XML seems like this, but it's using a nested submenus:
<?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"
>
<group
android:id="#+id/group_1"
android:checkableBehavior="single"
>
<item
android:id="#+id/apps_sort_title"
android:title="#string/apps_sort_title"
app:showAsAction="ifRoom"
/>
<item
android:id="#+id/apps_sort_date"
android:title="#string/apps_sort_date"
app:showAsAction="ifRoom"
/>
<item
android:id="#+id/apps_sort_size"
android:title="#string/apps_sort_size"
app:showAsAction="ifRoom"
/>
</group>
<item android:title="#string/title_order">
<menu>
<group
android:id="#+id/group_2"
android:checkableBehavior="single"
>
<item
android:id="#+id/apps_sort_asc"
android:title="#string/sort_asc"
app:showAsAction="ifRoom"
/>
<item
android:id="#+id/apps_sort_desc"
android:title="#string/sort_desc"
app:showAsAction="ifRoom"
/>
</group>
</menu>
</item>
</menu>
Thanks in advance!
Set the tittle on group, you have to implement your menu XML like this.
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="#+id/gp1"
android:checkableBehavior="single"
android:visible="true">
<item android:title="Group Title">
<menu>
<item
android:id="#+id/group_item_one"
android:title="Item one"/>
<item
android:id="#+id/group_item_two"
android:title="Item two"/>
<item
android:id="#+id/group_item_three"
android:title="Item three"/>
</menu>
</item>
</group>
<group
android:id="#+id/gp2"
android:checkableBehavior="single">
<item
android:id="#+id/group_two_item_one"
android:title="Item one"/>
</group>
Finally found the solution I needed to use the setGroupVisible() method of the menu object passed into the onPrepareOptionsMenu() method.
menu.setGroupVisible(R.id.gp1, false);
Happy coding!!
I have a NavigationView in my app. Inside the menu for the NavView, I have two sub menus:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="#+id/nav_group_one"
android:title="SubMenu A">
<menu>
<item
android:checkable="true"
android:title="One"/>
<item
android:checkable="true"
android:title="Two"/>
</menu>
</item>
<item
android:id="#+id/nav_group_two"
android:title="SubMenu B">
<menu>
<item
android:checkable="true"
android:title="Three"/>
<item
android:checkable="true"
android:title="Four"/>
</menu>
</item>
</menu>
In my activity's onNavigationItemSelected() I would like to be able to figure out which sub menu the selected item is in. How would I do this?
So far I haven't found an existing solution at this time, however I have found a workaround:
To solve this with minimal additional XML overhead, wrap each set of sub-menu items in a group, with an Id:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="#+id/nav_group_one"
android:title="SubMenu A">
<menu>
<group id="#+id/nav_group_wrapper_one">
<item
android:checkable="true"
android:title="One"/>
<item
android:checkable="true"
android:title="Two"/>
</group>
</menu>
</item>
<item
android:id="#+id/nav_group_two"
android:title="SubMenu B">
<menu>
<group id="#+id/nav_group_wrapper_two">
<item
android:checkable="true"
android:title="Three"/>
<item
android:checkable="true"
android:title="Four"/>
</group>
</menu>
</item>
</menu>
This way, one can simply call item.getGroupId() to infer the sub-menu it is contained within.
I have an ActionBar with 5 Items but app (no matter horizontally or vertically) shows only 4 Item icons. Additional Item is visible after clicking More (ellipsis) button. I turned of Title and Home and still app displays only 4 Items on the right of the screen.
How to extend default space in ActionBar for custom Items?
It might simply be the case that you haven't set the android:showAsAction attribute for the menu items, so by default it is hiding them once there is a certain number. Try setting android:showAsAction="always" for all of the items.
Oh, Yes menu/main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="pl.waw.miechoo.gpsspeed2.MainActivity"
>
<item android:id="#+id/menu_information"
android:icon="#drawable/ic_action_about"
android:title="Info"
/>
<item
android:id="#+id/menu_screen_orientation"
android:icon="#drawable/synchronization"
android:menuCategory="container"
android:orderInCategory="0"
android:showAsAction="ifRoom"
android:title="#string/menu_screen_orientation_string"
android:titleCondensed="#string/menu_screen_orientation_condensed_string">
<menu>
<group
android:id="#+id/action_settings"
android:checkableBehavior="single"
android:enabled="true"
android:menuCategory="container"
android:visible="true" >
<item
android:id="#+id/menu_screen_orientation_landscape"
android:title="#string/menu_screen_orientation_landscape_string">
</item>
<item
android:id="#+id/menu_screen_orientation_portrait"
android:title="#string/menu_screen_orientation_portrait_string">
</item>
<item
android:id="#+id/menu_screen_orientation_auto"
android:title="#string/menu_screen_orientation_auto_string">
</item>
</group>
</menu>
</item>
<item
android:id="#+id/menu_meause_unit_type"
android:icon="#drawable/checklist"
android:menuCategory="container"
android:orderInCategory="1"
android:showAsAction="always"
android:title="#string/measureUnitType"
android:titleCondensed="#string/measureUnitTypeCondensed">
<menu>
<group
android:checkableBehavior="single"
android:enabled="true"
android:visible="true" >
<item
android:id="#+id/menu_mps"
android:title="#string/menu_mps_string"/>
<item
android:id="#+id/menu_kmph"
android:title="#string/menu_kmph_string"/>
<item
android:id="#+id/menu_mph"
android:title="#string/menu_mph_string"/>
<item
android:id="#+id/menu_fps"
android:title="#string/menu_fps_string"/>
<item
android:id="#+id/menu_knots"
android:title="#string/menu_knots_string"/>
<item
android:id="#+id/menu_mach"
android:title="#string/menu_mach_string"/>
<item
android:id="#+id/menu_c"
android:title="#string/menu_c_string"/>
</group>
</menu>
</item>
<item
android:id="#+id/menu_hud"
android:icon="#drawable/gear"
android:menuCategory="container"
android:orderInCategory="2"
android:showAsAction="always"
android:title="#string/menu_hud">
<menu>
<group
android:checkableBehavior="single"
android:enabled="true"
android:visible="true" >
<item
android:id="#+id/menu_hud_off"
android:title="#string/menu_hud_off">
</item>
<item
android:id="#+id/menu_hud_on"
android:title="#string/menu_hud_on">
</item>
</group>
</menu>
</item>
<item
android:id="#+id/menu_precision"
android:icon="#drawable/compass"
android:menuCategory="container"
android:orderInCategory="2"
android:showAsAction="always"
android:title="#string/menu_precission_string">
<menu>
<group
android:checkableBehavior="single"
android:enabled="true"
android:visible="true" >
<item
android:id="#+id/menu_prec_0"
android:title="0">
</item>
<item
android:id="#+id/menu_prec_1"
android:title="0,0">
</item>
<item
android:id="#+id/menu_prec_2"
android:title="0,00">
</item>
<item
android:id="#+id/menu_prec_3"
android:title="0,000">
</item>
<item
android:id="#+id/menu_prec_4"
android:title="0,0000">
</item>
<item
android:id="#+id/menu_prec_5"
android:title="0,00000">
</item>
<item
android:id="#+id/menu_prec_6"
android:title="0,000000">
</item>
</group>
</menu>
</item>
i am trying to make my OnOptionMenu looks like this:
Any ideas on how to make it close to it??
Edit:
here is what i did:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="#+id/item1"
android:title="ajouter"
android:icon="#drawable/ic_action_plus"
android:showAsAction="always">
</item>
<item
android:id="#+id/item2"
android:title="rechercher"
android:icon="#drawable/ic_action_loupe"
android:showAsAction="always">
</item>
<item
android:id="#+id/item3"
android:title="editer"
android:icon="#drawable/ic_action_crayon"
android:showAsAction="ifRoom">
</item>
<item
android:id="#+id/item4"
android:title="supprimer"
android:icon="#drawable/ic_action_poubelle"
android:showAsAction="ifRoom">
</item>
<item
android:id="#+id/item5"
android:title="à propos"
android:showAsAction="ifRoom"
android:icon="#drawable/ic_action_poubelle">
</item>
<item
android:id="#+id/item6"
android:title="Quitter"
android:showAsAction="ifRoom"
android:icon="#drawable/ic_action_poubelle">
</item>
</menu>
but it still looks the same, i still get a quiet classic menu.( just the item's title on a list)
here is how it looks:
http://img651.imageshack.us/img651/3007/resultax.th.png
by the way do i have to inflate the actionbar menu and the menu on the bottom with two different inflaters??
any additional ideas??
Create resource file in res/menu and inflate it in onCreateOptionsMenu() Activity-method
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="#+id/help"
android:title="Help"
android:icon="#drawable/ic_1/>
<item android:id="#+id/keyboard"
android:title="Keyboard"
android:icon="#drawable/ic_2" />
<item android:id="#+id/exit"
android:title="Exit"
android:icon="#drawable/ic_3/>
</menu>
It is very easy, you can do this in xml file itself
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:id="#+id/Non_Veg"
android:title="Non Veg"
android:icon="#drawable/hamburger">
<menu>
<item
android:id="#+id/Chicken"
android:title="Chicken"/>
<item
android:id="#+id/Butter_Chicken"
android:title="Butter Chicken" />
<item
android:id="#+id/Mutton"
android:title="Mutton" />
<item
android:id="#+id/Beef"
android:title="Beef" />
<item
android:id="#+id/Ham"
android:title="Ham" />
</menu>
</item>
</menu>
Here in item tag you can directly use the android:icon property to set the icon of the menu, hope I helped.