Menu icons won't appear - java

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.

Related

open a menu from Image View

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!

Android - squished icon in actionbar after support library update

I want to have a checkmark icon in the actionbar.
The code I'm using is:
In menu_actionbar.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">
<item
android:title=""
android:id="#+id/action_check"
android:icon="#drawable/ic_done_white_48dp"
android:orderInCategory="100"
app:showAsAction="always"/>
</menu>
In the activity:
#Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_actionbar, menu);
return true;
}
Here's what it's supposed to look like, and how it has looked for a while until some recent support library update (not sure which one exactly): correct
Here's what it looks like on the device now: incorrect

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

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.

Despite using android-support-v7-appcompat library, Action bar is working wrong with android 2.2

I have used actionbarcompat in programming. Also I've added android-support-v7-appcompat library. Unfortunately action bar display as bellow (Items doesn't appear) :
please say right way.
this is my menu.xml code:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ActionBar2="http://schemas.android.com/apk/res-auto">
<item
android:id="#+id/action_search"
android:orderInCategory="100"
ActionBar2:showAsAction="always"
android:title="Search"/>
<item
android:id="#+id/action_copy"
android:orderInCategory="100"
ActionBar2:showAsAction="always"
android:title="Copy"/>
<item
android:id="#+id/action_share"
android:orderInCategory="100"
ActionBar2:showAsAction="always"
android:title="Share"/>
<item
android:id="#+id/action_share"
android:orderInCategory="100"
ActionBar2:showAsAction="always"
android:title="Hossein"/>
</menu>
Please take a look at the answers in this question (Android Studio - just can't get action bar / overflow to work?). If a hardware button is available no overflow menu will be shown.
This works for me with appcompat v21:
On My onCreateoptionsMenu();
final MenuItem switchButton = menu.findItem(R.id.action_import);
final MenuItem searchItem = menu.findItem(R.id.action_search);
MenuItemCompat.setShowAsAction(searchItem, MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
MenuItemCompat.setShowAsAction(switchButton, MenuItemCompat.SHOW_AS_ACTION_ALWAYS);

Categories