Menu option in android

After accessing a lot of tutorials, I found out that instead of Menu they have an ActionBar for > API 10 . But I use API 7 sdk for my testing, I used Menus to display text using drawable images . But only the text goes, and the image with the graphic image is not displayed in the menu item. Please help me solve this problem.

My XML :

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Single menu item Set id, icon and Title for each menu item --> <item android:id="@+id/savedstory" android:background="#000000" android:minHeight="20dp" android:title="Saved Stories"/> <item android:id="@+id/setting" android:background="#000000" android:minHeight="20dp" android:title="Settings"/> <item android:id="@+id/Bookmark" android:background="#000000" android:minHeight="20dp" android:title="Bookmark This"/> <item android:id="@+id/share" android:background="#000000" android:minHeight="20dp" android:title="Share This"/> <item android:id="@+id/save" android:background="#000000" android:minHeight="20dp" android:title="Save This"/> <item android:id="@+id/small" android:icon="@drawable/font3" android:minHeight="20dp"> This icon is not showing. /> <item android:id="@+id/medium" android:background="#ffffff" android:minHeight="20dp" android:title="Medium font"/> <item android:id="@+id/big" android:background="#000000" android:minHeight="20dp" android:title="Big font"/> </item> </menu> 

My bloat code:

 public boolean onCreateOptionsMenu(Menu menu) { MenuInflater menuInflater = getMenuInflater(); menuInflater.inflate(R.menu.newsdescriptionmenu, menu); return true; } 
+6
source share
2 answers

If you are referring to the menu documentation "

Options menu . The icon menu does not support item flags and only show an item with a condensed name. Advanced menus (available only if you see six or more menu items reached using the "More" item in the icon menu) element icons are not displayed, and item flags are not recommended.

Since I do not see how you are inflating (what options, etc.) your menus, I can only assume that you do not see this element icon, since it is the sixth, and gets into the extended menu after "More".

+2
source

Please check the following code snippet.

menu.xml

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/Menu1" android:orderInCategory="1" android:title="Menu 1"/> <item android:id="@+id/Menu2" android:orderInCategory="2" android:title="Menu 2"/> <item android:id="@+id/Menu3" android:orderInCategory="3" android:title="Menu 3"/> <item android:id="@+id/submenu" android:orderInCategory="4" android:title="Sub menu"> <menu> <item android:id="@+id/submenu1" android:title="Sub menu 1"/> <item android:id="@+id/submenu2" android:title="Sub menu 2"/> </menu> </item> </menu> 

Add these lines to your Activity Class

 public class MenuActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public boolean onCreateOptionsMenu(Menu menu) { new MenuInflater(getApplication()).inflate(R.menu.menu, menu); return(super.onPrepareOptionsMenu(menu)); } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.Menu1: Toast.makeText(this, "Menu 1", Toast.LENGTH_SHORT).show(); break; case R.id.Menu2: Toast.makeText(this, "Menu 2", Toast.LENGTH_SHORT).show(); break; case R.id.Menu3: Toast.makeText(this, "Menu 3", Toast.LENGTH_SHORT).show(); break; case R.id.submenu: Toast.makeText(this, "Sub menu", Toast.LENGTH_SHORT).show(); break; } return(super.onOptionsItemSelected(item)); } } 
+2
source

All Articles