Because the Android platform is split into different versions, OMS has modified the menu items of Android to adapt to the model as much as possible. We need to define the menu items in the project.
Package COM. unimob; import Java. util. arraylist; import Java. util. hashmap; import android. app. activity; import android. app. alertdialog; import android. content. dialoginterface; import android. content. dialoginterface. onkeylistener; import android. OS. bundle; import android. view. gravity; import android. view. keyevent; import android. view. menu; import android. view. view; import android. view. window; import android. widge T. adapterview; import android. widget. adapterview. onitemclicklistener; import android. widget. gridview; import android. widget. listview; import android. widget. simpleadapter; import android. widget. toast; public class mainmenuview extends activity {alertdialog menudialog; // menu dialog listview; gridview menugrid, toolbargrid; view menuview; private Boolean ismore = false; // menu page flip control/* -- menu selection Item subscript -- */private final int item_search = 0; // search private final int item_file_manager = 1; // file management private final int item_down_manager = 2; // download management private final int item_fullscreen = 3; // full screen private final int item_more = 11; // menu/* -- subscript of menu options at the bottom of toolbar -- */private final int toolbar_item_pagehome = 0; // homepage private final int toolbar_item_back = 1; // retreat private final int toolbar_item_forward = 2; // forward PR Ivate final int toolbar_item_new = 3; // create private final int toolbar_item_menu = 4; // menu/** menu image **/INT [] menu_image_array = {R. drawable. menu_search, R. drawable. menu_filemanager, R. drawable. menu_downmanager, R. drawable. menu_fullscreen, R. drawable. menu_inputurl, R. drawable. menu_bookmark, R. drawable. menu_bookmark_sync_import, R. drawable. menu_sharepage, R. drawable. menu_quit, R. drawable. menu_nightmo De, R. drawable. menu_refresh, R. drawable. menu_more};/** menu text **/string [] menu_name_array = {"Search", "File Management", "download management", "full screen", "url ", "bookmarks", "add bookmarks", "share pages", "exit", "Night mode", "refresh", "more "}; /** menu Image 2 **/INT [] menu_image_array2 = {R. drawable. menu_auto_landscape, R. drawable. menu_penselectmodel, R. drawable. menu_page_attr, R. drawable. menu_novel_mode, R. drawable. menu_page_updown, R. drawable. menu_checkupdate, R. dr Awable. menu_checknet, R. drawable. menu_refreshtimer, R. drawable. menu_syssettings, R. drawable. menu_help, R. drawable. menu_about};/** menu text 2 **/string [] menu_name_array2 = {"automatic landscape screen", "pen selection mode", "Read mode", "browsing mode ", "Quick flip", "check for updates", "check for networks", "timed refresh", "Settings", "help", "about "}; /** bottom menu image **/INT [] menu_toolbar_image_array = {R. drawable. controlbar_homepage, R. drawable. controlbar_backward_enable, R. drawable. controlbar_for Ward_enable, R. drawable. controlbar_window, R. drawable. controlbar_showtype_list};/** bottom menu text **/string [] menu_toolbar_name_array = {"Homepage", "back", "forward", "CREATE", "menu "}; @ override public void oncreate (bundle savedinstancestate) {super. oncreate (savedinstancestate); setcontentview (R. layout. main); // set the custom menu menuview = view. inflate (this, R. layout. gridview_menu, null); // menuview. set // create alertdialog Menudialog = new alertdialog. builder (this ). create (); window W = menudialog. getwindow (); W. setgravity (gravity. bottom); // windowmanager. layoutparams Lp = W. getattributes (); menudialog. setview (menuview); menudialog. setonkeylistener (New onkeylistener () {public Boolean onkey (dialoginterface dialog, int keycode, keyevent event) {If (keycode = keyevent. keycode_menu) // listens for the dialog button. dismiss (); Return Fal Se ;}}); menugrid = (gridview) menuview. findviewbyid (R. id. gridview); menugrid. setadapter (getmenuadapter (menu_name_array, menu_image_array);/** monitor menu options **/menugrid. setonitemclicklistener (New onitemclicklistener () {public void onitemclick (adapterview <?> Arg0, view arg1, int arg2, long arg3) {Switch (arg2) {Case item_search: // search for break; Case item_file_manager: // file management break; Case item_down_manager: // download and manage break; Case item_fullscreen: // full screen break; Case item_more: // flip the page if (ismore) {menugrid. setadapter (getmenuadapter (menu_name_array2, menu_image_array2); ismore = false;} else {// home page menugrid. setadapter (getmenuadapter (menu_name_array, menu_image_a Rray); ismore = true;} menugrid. invalidate (); // update menu menugrid. setselection (item_more); break ;}}); // create the toolbar toolbargrid = (gridview) findviewbyid (R. id. gridview_toolbar); toolbargrid. setbackgroundresource (R. drawable. channelgallery_bg); // sets the background toolbargrid. setnumcolumns (5); // set the number of columns in each row toolbargrid. setgravity (gravity. center); // position center toolbargrid. setverticalspacing (10); // vertical interval toolbargrid. s Ethorizontalspacing (10); // horizontal interval toolbargrid. setadapter (getmenuadapter (menu_toolbar_name_array, menu_toolbar_image_array); // you can set the menu adapter, ** listener bottom menu options **, and toolbargrid. setonitemclicklistener (New onitemclicklistener () {public void onitemclick (adapterview <?> Arg0, view arg1, int arg2, long arg3) {toast. maketext (mainmenuview. this, menu_toolbar_name_array [arg2], toast. length_short ). show (); Switch (arg2) {Case toolbar_item_pagehome: break; Case toolbar_item_back: break; Case toolbar_item_forward: break; Case toolbar_item_new: break; Case toolbar_item_menu: menudialog. show (); break ;}});/** listview list **/listview = (listview) findviewbyid (R. id. listview_catalog); listview. setadapter (getmenuadapter (menu_name_array2, menu_image_array2);} @ override/*** create menu */Public Boolean oncreateoptionsmenu (menu) {menu. add ("menu"); // You must create a return Super. oncreateoptionsmenu (menu);} @ override/*** intercept menu */Public Boolean onmenuopened (INT featureid, menu) {If (menudialog = NULL) {menudialog = new alertdialog. builder (this ). setview (menuview ). show ();} else {menudialog. show () ;}return false; // if the return value is true, the system menu is displayed.}/*** structure menu adapter ** @ Param menunamearray name * @ Param imageresourcearray image * @ return simpleadapter */private simpleadapter getmenuadapter (string [] menunamearray, int [] imageresourcearray) {arraylist
Gridview_menu.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><GridView android:id="@+id/gridview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:numColumns="4" android:verticalSpacing="10dip" android:horizontalSpacing="10dip" android:stretchMode="columnWidth" android:gravity="bottom" /> </LinearLayout>
Item_menu.xml
<? XML version = "1.0" encoding = "UTF-8"?> <Relativelayout xmlns: Android = "http://schemas.android.com/apk/res/android" Android: Id = "@ + ID/relativelayout_item" Android: layout_width = "fill_parent" Android: layout_height = "wrap_content" Android: paddingbottom = "5dip"> <imageview Android: layout_height = "wrap_content" Android: Background = "@ drawable/icon" Android: Id = "@ + ID/imageview1" Android: layout_width = "wrap_content" Android: layout_centerhorizontal = "true"> </imageview> <imageview Android: Id = "@ + ID/item_image" Android: layout_centerhorizontal = "true" Android: layout_width = "wrap_content" Android: layout_height = "wrap_content" Android: src = "@ drawable/menu_about"> </imageview> <textview Android: layout_below = "@ ID/item_image" Android: Id = "@ + ID/item_text" Android: layout_centerhorizontal = "true" Android: layout_width = "wrap_content" Android: layout_height = "wrap_content" Android: text = "option"> </textview> </relativelayout>
Main. xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/RelativeLayout_catalog" android:layout_width="fill_parent"android:layout_height="wrap_content"><GridView android:id="@+id/GridView_toolbar"android:layout_height="wrap_content" android:layout_width="fill_parent"android:layout_alignParentBottom="true"></GridView><ListView android:id="@+id/ListView_catalog"android:layout_above="@id/GridView_toolbar" android:layout_width="fill_parent"android:layout_height="wrap_content"></ListView></RelativeLayout>