?
結果如下:
第一種編程方式:
package com.easyway.android.menu; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; /** * Android菜單實現功能 * @author longgangbai * */ public class AndroidMenuActivity extends Activity { private TextView textView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); textView=(TextView)findViewById(R.id.txtview); } /** * 創建一個上下文可選菜單 */ @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.add(0, Menu.FIRST, Menu.NONE, "編輯"); menu.add(0, Menu.FIRST + 1, Menu.NONE, "保存"); menu.add(0, Menu.FIRST + 2, Menu.NONE, "刪除"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch (item.getItemId()) { //獲取菜單項的ID,即前面Menu.add方法的第二個參數 case Menu.FIRST: textView.setText("編輯"); break; case Menu.FIRST + 1: textView.setText("保存"); break; case Menu.FIRST + 2: textView.setText("刪除"); break; default: break; } return true; } }
?
?
第二種方式聲明方式:
res/menu/menu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="保存" android:id="@+id/ID_SAVE"></item> <item android:title="編輯" android:id="@+id/ID_EDIT"></item> <item android:title="刪除" android:id="@+id/ID_DELETE"></item> </menu>
?
實現為:
package com.easyway.android.mens; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.TextView; /** * Android菜單實現功能 * * Android程序使用菜單是非常之方便的,而且Android系統的菜單也做得很有特色,系統有專門的Menu鍵, * 而且菜單的樣式不同于通常的彈出或者下拉菜單,Android的菜單更像是堆砌起來的。 *Menu是android.view包里面的接口,它菜單通常是作為Activity的一部分。 * *在Android的文檔里面這樣描述Menu: * 通常,每個Activity都支持(這里意思應該是已經創建好,默認存在菜單)一個選項菜單 * (option menu)和相應的事件響應。可以為菜單添加菜單項和相應的事件處理。添加菜單項最簡 * 單的方法是是使用XML文件,在Menu標簽下使用 MenuInflater,然后重載Activity的 * onOptionsItemSelected(MenuItem) 方法或者onContextItemSelected(MenuItem) 方法, * 在方法體里添加事件處理代碼。 * * 總的來說,有三種類型的菜單: * Contex Menus,情境菜單:不支持菜單快捷鍵和圖標。 * Options Menus,選項菜單:支持圖標,但不支持菜單項選中標記。 * Sub menus,子菜單,不支持圖標,不能再有子菜單。 * @author longgangbai * */ public class AndroidXmlMenuActivity extends Activity { private TextView textView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); textView=(TextView)findViewById(R.id.txtview); } /** * 創建一個上下文可選菜單 * Menu.add(int groupId, int itemId, int order, CharSequence title)方法, * 第一個參數用來指定菜單項分組,API文檔說分組可以用來進行分組狀態更新, * 第二個參數很重要,是菜單項的唯一ID,在后面菜單事件處理時要用到, * 第三個參數為排序值,用來指定菜單項順序,可以無視, * 最后一個參數為菜單項的標題,在屏幕上面顯示用。 * * 另一種方式是使用XML文件和MenuInflater類來創建菜單。Android使用XML作為 * 資源管理的方式,獨立于編碼,具有更高的靈活性和擴展性。在res下面建立menu * 文件夾,然后新建一個xml文檔,命名為menu.xml。 * */ @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); //創建獲取菜單的布局的對象 MenuInflater menuInflater=new MenuInflater(this); //向菜單中添加菜單 menuInflater.inflate( R.menu.menu, //位于res/memnu下的菜單xml文件配置 menu //需要添加的父菜單對象 ); return true; } /** * 各個菜單的 響應時間的實現 * */ @Override public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch (item.getItemId()) { //獲取菜單項的ID,即前面Menu.add方法的第二個參數 case R.id.ID_EDIT: textView.setText("編輯"); break; case R.id.ID_SAVE: textView.setText("保存"); break; case R.id.ID_DELETE: textView.setText("刪除"); break; default: break; } return true; } }
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
