Android Menu菜单操作(偏门--监听 more 操作)


在网上关于Menu如何创建,点击事件的文章已经很多,所以想查询此功能的网友可以在google上面随便搜一下就有很多,但是今天我说的这个功能可能是个偏门,可能很少注意,也很少人需要,所以在网上找了很多,但是没有找到相关信息。所以在此记录下来,闲话少说,进入正题。

大家知道,在创建menu的时候,一种比较好的方法是使用xml文件,使架构比较清晰,在这里使用Browser源代码里面的操作给大家演示一下

  1. @Override  
  2.     public boolean onCreateOptionsMenu(Menu menu) {  
  3.         if(debug) Log.d(TAG, "onCreateOptionsMenu");  
  4.         super.onCreateOptionsMenu(menu);  
  5.   
  6.         MenuInflater inflater = getMenuInflater();  
  7.         inflater.inflate(R.menu.browser, menu);  
  8.         mMenu = menu;  
  9.         updateInLoadMenuItems();  
  10.         return true;  
  11.     }  

在上面的代码里面,很简单的生成了一个比较复杂的menu,其中R.menu.browser的文件代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <menu xmlns:Android="http://schemas.android.com/apk/res/android">  
  3.     <group android:id="@+id/MAIN_MENU">  
  4.         <item android:id="@+id/new_tab_menu_id"  
  5.             android:title="@string/new_tab"  
  6.             android:icon="@drawable/ic_menu_new_window"  
  7.             android:alphabeticShortcut="n" />  
  8.         <item android:id="@+id/exit_menu_id"  
  9.             android:title="@string/exit_dot"  
  10.             android:alphabeticShortcut="x"  
  11.             android:icon="@drawable/ic_btn_close_panel"/>  
  12.         <item android:id="@+id/bookmarks_menu_id"  
  13.             android:title="@string/bookmarks"  
  14.             android:alphabeticShortcut="b"  
  15.             android:icon="@drawable/ic_menu_bookmarks"  
  16.             />  
  17.         <item android:id="@+id/active_tabs_menu_id"  
  18.             android:title="@string/active_tabs"  
  19.             android:icon="@drawable/ic_menu_windows"  
  20.             android:alphabeticShortcut="t" />  
  21.         <item android:id="@+id/stop_reload_menu_id"  
  22.             android:alphabeticShortcut="r" />  
  23.         <item android:id="@+id/forward_menu_id"  
  24.             android:title="@string/forward"  
  25.             android:alphabeticShortcut="k"  
  26.             android:icon="@*android:drawable/ic_menu_forward" />  
  27.         <item android:id="@+id/add_bookmark_menu_id"  
  28.             android:title="@string/save_to_bookmarks"  
  29.             android:icon="@drawable/ic_menu_add_bookmark"  
  30.             android:alphabeticShortcut="a" />  
  31.         <item android:id="@+id/find_menu_id"  
  32.             android:title="@string/find_dot"  
  33.             android:alphabeticShortcut="f" />  
  34.         <item android:id="@+id/select_text_id"  
  35.             android:title="@string/select_dot"  
  36.             android:alphabeticShortcut="e" />  
  37.         <item android:id="@+id/page_info_menu_id"  
  38.             android:title="@string/page_info"  
  39.             android:alphabeticShortcut="g" />  
  40.         <item android:id="@+id/share_page_menu_id"  
  41.             android:title="@string/share_page"  
  42.             android:alphabeticShortcut="s" />  
  43.         <item android:id="@+id/view_downloads_menu_id"  
  44.             android:title="@string/menu_view_download"  
  45.             android:alphabeticShortcut="d" />  
  46.         <item android:id="@+id/preferences_menu_id"  
  47.             android:title="@string/menu_preferences"  
  48.             android:alphabeticShortcut="p" />  
  49.         <!-- followings are debug only -->  
  50.         <item android:id="@+id/dump_nav_menu_id"  
  51.             android:title="@string/dump_nav"  
  52.             android:visible="false" />  
  53.         <item android:id="@+id/dump_counters_menu_id"  
  54.             android:title="@string/dump_counters"  
  55.             android:visible="false" />  
  56.     </group>  
  57.     <group android:id="@+id/MAIN_SHORTCUT_MENU" android:visible="false">  
  58.         <item android:id="@+id/homepage_menu_id"  
  59.             android:alphabeticShortcut=" " />  
  60.         <item android:id="@+id/classic_history_menu_id"  
  61.             android:alphabeticShortcut="h" />  
  62.         <item android:id="@+id/zoom_in_menu_id"  
  63.             android:alphabeticShortcut="i" />  
  64.         <item android:id="@+id/zoom_out_menu_id"  
  65.             android:alphabeticShortcut="o" />  
  66.         <item android:id="@+id/window_one_menu_id"  
  67.             android:alphabeticShortcut="1" />  
  68.         <item android:id="@+id/window_two_menu_id"  
  69.             android:alphabeticShortcut="2" />  
  70.         <item android:id="@+id/window_three_menu_id"  
  71.             android:alphabeticShortcut="3" />  
  72.         <item android:id="@+id/window_four_menu_id"  
  73.             android:alphabeticShortcut="4" />  
  74.         <item android:id="@+id/window_five_menu_id"  
  75.             android:alphabeticShortcut="5" />  
  76.         <item android:id="@+id/window_six_menu_id"  
  77.             android:alphabeticShortcut="6" />  
  78.         <item android:id="@+id/window_seven_menu_id"  
  79.             android:alphabeticShortcut="7" />  
  80.         <item android:id="@+id/window_eight_menu_id"  
  81.             android:alphabeticShortcut="8" />  
  82.         <item android:id="@+id/back_menu_id"  
  83.             android:title="@string/back"  
  84.             android:drawable="@*android:drawable/ic_menu_back"  
  85.             android:alphabeticShortcut="j" />  
  86.         <item android:id="@+id/goto_menu_id"  
  87.             android:title="@string/goto_dot"  
  88.             android:alphabeticShortcut="l"  
  89.             android:icon="@android:drawable/ic_menu_search"/>  
  90.         <item android:id="@+id/close_menu_id"  
  91.             android:icon="@drawable/ic_btn_close_panel"  
  92.             android:title="@string/tab_picker_remove_tab"  
  93.             android:alphabeticShortcut="w" />  
  94.     </group>  
  95.     <!-- these items are toggled in and out of @+id/stop_reload_menu_id -->  
  96.     <item android:id="@+id/stop_menu_id"  
  97.         android:title="@string/stop"  
  98.         android:icon="@*android:drawable/ic_menu_stop"  
  99.         android:visible="false" />  
  100.     <item android:id="@+id/reload_menu_id"  
  101.         android:title="@string/reload"  
  102.         android:icon="@*android:drawable/ic_menu_refresh"  
  103.         android:visible="false" />  
  104. </menu>  
  • 1
  • 2
  • 下一页

相关内容