open a menu from Image View - java

I have problem to set a menu.
I want to open a menu from an ImageView, because I want to use a specific image on the tool bar.
I can't found any tutorials
#Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater =getMenuInflater();
menuInflater.inflate(R.menu.days, menu);
return true;
}
Thanks in advance!

Do you want to create menu something like this?
Menu xml code: menu/days.xml
<?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=".MainActivity">
<item
android:id="#+id/item_love"
android:title="Love"
android:icon="#drawable/baseline_favorite_border_white_48"
app:showAsAction="always">
</item>
<item
android:id="#+id/item_more"
android:title="More"
android:icon="#drawable/baseline_add_white_48"
app:showAsAction="always">
<menu>
<item android:id="#+id/sub_item_1"
android:title="Sub Item 1"
app:showAsAction="withText"
/>
<item android:id="#+id/sub_item_2"
android:title="Sub Item 2"
app:showAsAction="withText"
/>
<item android:id="#+id/sub_item_3"
android:title="Sub Item 3"
app:showAsAction="withText"
/>
</menu>
</item>
</menu>
Full source code: https://github.com/hiepxuan2008/basic-menu-android
Hope it will help you. Thanks!

Related

App menu option color

Hello I want to change my app menu option (black text on white Background instead of white text on black Backgroud )
Here is my menu xlm file
<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="com.androidsrc.tower.Liste1">
<item android:id="#+id/action_settings"
android:title="#string/action_settings" />
<item android:id="#+id/aide"
android:title="#string/aide" />
</menu>
#Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
Change your menu.xml to this:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
<item android:id="#+id/action_settings"
android:title="#string/action_settings" />
<item android:id="#+id/aide"
android:title="#string/aide" />
</menu>
In your styles.xml file add the following to your base app theme
<item name="android:popupMenuStyle">#style/CMOptionsMenu</item>
and then add the following styleto the file
<style name="CMOptionsMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
<item name="android:popupBackground">#FFFFFF</item>
<item name="android:textColor">#000000</item>
</style>
In the AndroidManifest.xml remember to add the following to your application
android:theme="#style/AppBaseTheme"

How to change color in xml file?

I built a simple menu (That if I click "menu" option in my emulator on eclipse I will see it), and I have three options in this menu: About us, preferences and exit. Everyone of them are work and good, but I have a small problem.
The color of the menu is white, and the text is white too so I cant to see the text.
This is the XML code:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:text="About Us"
android:id="#+id/aboutUs"
android:numericShortcut="1"
android:alphabeticShortcut="a" />
<item
android:text="Perferences"
android:id="#+id/perferences" />
<item
android:text="Exit"
android:id="#+id/exit" />
</menu>
Hope for answers and thanks in advance!
public boolean onCreateOptionsMenu(android.view.Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
MenuInflater blowUp = getMenuInflater();
blowUp.inflate(R.menu.cool_menu, menu);
return true;
}
Please add:
<item name="android:actionMenuTextColor">#color/any_color_you_want</item>
to your styles.xml

Android: adding the camera icon to action bar on android studio

I am trying to an a camera icon to my action bar on android studio, but I can not see any icon. I can see is the "camera" text in my overflow. Below is my me.xml file which is in my menu folder, and also is below is my onCreateOptionsMenu() method
<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_logout"
android:title="#string/menu_logout_lable"
android:orderInCategory="100"
app:showAsAction="never"/>
<item android:id="#+id/action_edit_friends"
android:title="#string/menu_edit_friends_label" />
<item
android:id="#+id/action_camera"
android:title="#string/menu_camera_label"
android:icon="#drawable/ic_action_camera"
android:showAsAction="always" />
</menu>
i found out why, in my xml file, on the item for the camera
<item
android:id="#+id/action_camera"
android:title="#string/menu_camera_label"
android:icon="#drawable/ic_action_camera"
android:showAsAction="always"
/>
, i changed
android:showAsAction="always"
to
app:showAsAction="always"
the difference been changing android: to app: .
Thanks

How to properly display a menuitem?

I'm trying to create some MenuItems, this way:
main_activity_actions.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="#+id/item_add"
android:icon="#drawable/ic_action_add"
android:orderInCategory="1"
android:title="#string/action_add"
android:showAsAction="always" />
<item
android:id="#+id/item_settings"
android:orderInCategory="2"
android:title="#string/action_settings"
android:showAsAction="never" />
<item
android:id="#+id/item_about"
android:orderInCategory="3"
android:title="#string/action_about"
android:showAsAction="never" />
</menu>
MainActivity.java
#Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
I cannot get the render of those items on the top menu bar. How do I to make this work, please ?
Thanks in advance!
I figured it out. With android support library v7 appcompat, you have to use a specific namespace to use the attribute showAsAction correctly. Here is what you need to do on your xml file:
Add your custom namespace declaration to the file like this:
xmlns:app="http://schemas.android.com/apk/res-auto"
Then instead of using android:showAsAction, use app:showAsAction.
This will allow the menu items to show.
Here's the result file code:
<?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/item_add"
android:icon="#drawable/ic_action_add"
android:orderInCategory="1"
android:title="#string/action_add"
app:showAsAction="always" />
<item
android:id="#+id/item_settings"
android:orderInCategory="2"
android:title="#string/action_settings"
app:showAsAction="never" />
<item
android:id="#+id/item_about"
android:orderInCategory="3"
android:title="#string/action_about"
app:showAsAction="never" />
</menu>
Hope I have helped you.

Menu icons won't appear

I'm trying to add some menu items with icons to a menu.
The items appear but without the icon on the left side of them, it's just the text...
By the way, I'm using the Holo Light theme...
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="#+id/menu_market"
android:title="View on Play Store"
android:icon="#drawable/ic_playstore_colorful"/>
</menu>
Thanx upfront!
Okay so i found this android blog post, http://android-developers.blogspot.com/2012/01/say-goodbye-to-menu-button.html and they mentioned how the whole menu paradigm is changing in ICS and they said to use the actionbar now, requires API 11 or later:
I have this in /res/menu/activity_main XML directory:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="#+id/firstmenu"
android:title="#string/menu_settings"
android:icon="#drawable/ic_launcher"
android:showAsAction="always|withText">
<menu>
<item android:id="#+id/submenu"
android:title="SubMenu">
</item>
</menu>
</item>
<item android:id="#+id/secondmenu"
android:title="seconditem"
android:icon="#drawable/ic_launcher"
android:showAsAction="always|withText">
</item>
</menu>
And this in source of course:
#Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_main, menu);
return true;
}
Works pretty well and looks good.

Categories