歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android --- Create Menu 的二級子菜單

Android --- Create Menu 的二級子菜單:

【話不多說,直接上代碼】

  1. package com.bison;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.text.Html;  
  6. import android.view.ContextMenu;  
  7. import android.view.ContextMenu.ContextMenuInfo;  
  8. import android.view.Menu;  
  9. import android.view.SubMenu;  
  10. import android.view.View;  
  11. import android.view.View.OnLongClickListener;  
  12. import android.widget.TextView;  
  13.   
  14. public class TestOneActivity extends Activity {  
  15.     // 聲明TextView   
  16.     private TextView tv;  
  17.   
  18.     @Override  
  19.     public void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         // 聲明Html代碼   
  22.         String strHtml = "<font color = 'red'>這是紅色</font>" + "<br>"  
  23.                 + "<font color = 'green'>這是綠色</font>";  
  24.   
  25.         // 實例化   
  26.         tv = new TextView(this);  
  27.         // 顯示的文本   
  28.         tv.setText(Html.fromHtml(strHtml));  
  29.         // 設置文本的大小   
  30.         tv.setTextSize(24);  
  31.         // 加載TextView為顯示頁面   
  32.         setContentView(tv);  
  33.         // tv注冊上下文菜單   
  34.         registerForContextMenu(tv);  
  35.   
  36.         // 聲明可以長按   
  37.         tv.setLongClickable(true);  
  38.         tv.setOnLongClickListener(new OnLongClickListener() {  
  39.   
  40.             public boolean onLongClick(View v) {  
  41.                 // 顯示上下文菜單   
  42.                 v.showContextMenu();  
  43.                 // 修改為true   
  44.                 return true;  
  45.             }  
  46.         });  
  47.   
  48.     }  
  49.   
  50.     /** 設置Menu方法 */  
  51.     private void getMenu(Menu menu, String str) {  
  52.         menu.add(111, str + "1");  
  53.         menu.add(122, str + "2");  
  54.         menu.add(133, str + "3");  
  55.         // 聲明子菜單   
  56.         SubMenu mSubMenu1 = menu.addSubMenu(str + "文件");  
  57.         mSubMenu1.add(1054, str + "新建");  
  58.         mSubMenu1.add(1066, str + "打開");  
  59.         SubMenu mSubMenu2 = menu.addSubMenu(str + "編輯");  
  60.         mSubMenu2.add(2078, str + "復制");  
  61.         mSubMenu2.add(2089, str + "刪除");  
  62.     }  
  63.   
  64.     @Override  
  65.     public void onCreateContextMenu(ContextMenu menu, View v,  
  66.             ContextMenuInfo menuInfo) {  
  67.         getMenu(menu, "上下文");  
  68.     }  
  69.   
  70.     @Override  
  71.     public boolean onCreateOptionsMenu(Menu menu) {  
  72.         getMenu(menu, "Menu按鈕");  
  73.         return super.onCreateOptionsMenu(menu);  
  74.     }  
  75.   
  76. }  

PS:需要注意的是 上下文菜單 要注冊,還要showContextMenu()

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved