In menu not able to nest items to group widget - android

neither nesting nor movement of menuItems and groups up and down wrt each other is taking place.
Android Studio version - 2.3.1
enter image description here

here is the code you can use,
<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.akshaymanagooli.adggbtbrt.MainActivity">
<item
android:id="#+id/action_settings"
android:orderInCategory="100"
android:title="settings"
app:showAsAction="never" />
<item
android:id="#+id/item"
android:orderInCategory="100"
android:title="items"
app:showAsAction="never" >
<menu>
<item
android:id="#+id/item1"
android:orderInCategory="100"
android:title="item 1"
app:showAsAction="never" />
<item
android:id="#+id/item2"
android:orderInCategory="100"
android:title="item 2"
app:showAsAction="never" />
</menu>
</item>
</menu>
So idea is inside an item create a new menu block and add your sub items in there so it'll show you a arrow mark like dropdown thing.

Related

SearchView in Toolbar: the second icon doesn't appear properly

I don't understand why the second icon (filter) is appeared not properly (no padding on right?). Have you got some ideas guys?
This is my menu setup xml:
<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="androidx.appcompat.widget.SearchView"
app:showAsAction="ifRoom"
android:visible="false"/>
<item
android:id="#+id/menu_search"
android:icon="#drawable/ic_search_tb"
android:orderInCategory="1"
android:visible="false"
app:showAsAction="ifRoom" />
<item
android:id="#+id/menu_filter"
android:icon="#drawable/ic_filter_tb"
android:orderInCategory="2"
android:visible="false"
app:showAsAction="always" />
</menu>

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 show list of icon with text in android action menu like image

I want to show a popup of option like the image on the click of action button( 3 ... icon).
I tried to do it by option menu but icon are not coming . Please suggest me how can I add icon as well.
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="ui.dealroomcontent.DealRoomContentActivity">
<item
android:id="#+id/action_view_details"
android:title="View room details"
android:orderInCategory="100"
android:icon="#drawable/ic_dealroom_details_normal"
app:showAsAction="never" />
<item
android:id="#+id/action_add_file"
android:title="#string/action_create_file"
android:orderInCategory="100"
android:icon="#drawable/ic_dealroom_createfolder_normal"
app:showAsAction="never" />
<item
android:id="#+id/action_add_folder"
android:title="#string/action_create_folder"
android:icon="#drawable/ic_dealroom_createfile_normal"
android:orderInCategory="100"
app:showAsAction="never" />
<item
android:id="#+id/action_upload_from_camera"
android:title="#string/action_upload_from_camera"
android:icon="#drawable/ic_dealroom_uploadcamera_normal"
android:orderInCategory="100"
app:showAsAction="never" />
<item
android:id="#+id/action_upload_from_gallery"
android:title="#string/action_upload_from_gallery"
android:icon="#drawable/ic_dealroom_uploadgallery_normal"
android:orderInCategory="100"
app:showAsAction="never" />
<item
android:id="#+id/action_upload_from_local"
android:title="#string/action_upload_from_local"
android:orderInCategory="100"
android:icon="#drawable/ic_dealroom_upload_normal"
app:showAsAction="never" />
<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_more"
android:icon="#drawable/ic_more_white"
android:title="#string/action_more"
android:orderInCategory="100"
app:showAsAction="always">
<menu>
<item
android:id="#+id/action_settings"
android:icon="#drawable/ic_settings_black"
android:title="#string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
<item ... />
</menu>
</item>
</menu>
The ic_more_white is the icon of 3...
I wish this can help you.

Not able to get both Icon and Image in Android Actionbar button

I am using a Split ActionBar & I have successfully inflated the menu for my fragment
When i used below code ::
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="#+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="#string/action_settings"/>
<item
android:id="#+id/home"
android:orderInCategory="1"
android:showAsAction="always"
android:title="Search"/>
<item
android:id="#+id/java"
android:orderInCategory="2"
android:showAsAction="always"
android:title="Share"/>
<item
android:id="#+id/android"
android:orderInCategory="3"
android:showAsAction="always"
android:title="Account"/>
</menu>
I get the output as::
When i use second code in an another usecase::
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="#+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="#string/action_settings"/>
<item
android:id="#+id/home"
android:icon="#drawable/ic_action_search"
android:orderInCategory="1"
android:showAsAction="always"
android:title="Search"/>
<item
android:id="#+id/java"
android:icon="#drawable/ic_action_share"
android:orderInCategory="2"
android:showAsAction="always"
android:title="Share"/>
<item
android:id="#+id/android"
android:icon="#drawable/ic_action_person"
android:orderInCategory="3"
android:showAsAction="always"
android:title="Account"/>
</menu>
I get the output as below::
Problem I am facing::
I am not able to get both Icon and button text ?
Is it not possible to obtain both ? if so how ?
Or is it we have to use only either one of them ?
You should use 'withText' value as well in the showAsAction attribute.
So the menu item will now look like,
<item
android:id="#+id/android"
android:icon="#drawable/ic_action_person"
android:orderInCategory="3"
android:showAsAction="always|withText"
android:title="Account"/>
Also, note it will ultimately depend upon the space available in the ActionBar. One cannot force it and in case if space is not enough it will end up as an overflow for the overflowing content.
Try android:showAsAction="always|withText"

Two level menu android using AppCompat

I have this menu on my android app
<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.app.MainActivity">
<item
android:id="#+id/action_settings"
android:title="root"
app:showAsAction="always">
<menu>
<item
android:title="item 1"
app:showAsAction="always" />
<item
android:title="item 2"
app:showAsAction="always" />
<item
android:title="item 3"
app:showAsAction="always" />
</menu>
</item>
On API 14+ it works as expected: click on button gives me dropdown menu.
But on API 8 it works strange
Where is my problem? What should I do?

Categories

Resources