【話不多說,直接上代碼】
[java]
package com.bison;
import android.app.Activity;
import android.os.Bundle;
import android.text.Html;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.SubMenu;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.widget.TextView;
public class TestOneActivity extends Activity {
// 聲明TextView
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 聲明Html代碼
String strHtml = "<font color = 'red'>這是紅色</font>" + "<br>"
+ "<font color = 'green'>這是綠色</font>";
// 實例化
tv = new TextView(this);
// 顯示的文本
tv.setText(Html.fromHtml(strHtml));
// 設置文本的大小
tv.setTextSize(24);
// 加載TextView為顯示頁面
setContentView(tv);
// tv註冊上下文菜單
registerForContextMenu(tv);
// 聲明可以長按
tv.setLongClickable(true);
tv.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
// 顯示上下文菜單
v.showContextMenu();
// 修改為true
return true;
}
});
}
/** 設置Menu方法 */
private void getMenu(Menu menu, String str) {
menu.add(1, 1, 1, str + "1");
menu.add(1, 2, 2, str + "2");
menu.add(1, 3, 3, str + "3");
// 聲明子菜單
SubMenu mSubMenu1 = menu.addSubMenu(str + "文件");
mSubMenu1.add(10, 5, 4, str + "新建");
mSubMenu1.add(10, 6, 6, str + "打開");
SubMenu mSubMenu2 = menu.addSubMenu(str + "編輯");
mSubMenu2.add(20, 7, 8, str + "復制");
mSubMenu2.add(20, 8, 9, str + "刪除");
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
getMenu(menu, "上下文");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenu(menu, "Menu按鈕");
return super.onCreateOptionsMenu(menu);
}
}
package com.bison;
import android.app.Activity;
import android.os.Bundle;
import android.text.Html;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.SubMenu;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.widget.TextView;
public class TestOneActivity extends Activity {
// 聲明TextView
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 聲明Html代碼
String strHtml = "<font color = 'red'>這是紅色</font>" + "<br>"
+ "<font color = 'green'>這是綠色</font>";
// 實例化
tv = new TextView(this);
// 顯示的文本 www.aiwalls.com
tv.setText(Html.fromHtml(strHtml));
// 設置文本的大小
tv.setTextSize(24);
// 加載TextView為顯示頁面
setContentView(tv);
// tv註冊上下文菜單
registerForContextMenu(tv);
// 聲明可以長按
tv.setLongClickable(true);
tv.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
// 顯示上下文菜單
v.showContextMenu();
// 修改為true
return true;
}
});
}
/** 設置Menu方法 */
private void getMenu(Menu menu, String str) {
menu.add(1, 1, 1, str + "1");
menu.add(1, 2, 2, str + "2");
menu.add(1, 3, 3, str + "3");
// 聲明子菜單
SubMenu mSubMenu1 = menu.addSubMenu(str + "文件");
mSubMenu1.add(10, 5, 4, str + "新建");
mSubMenu1.add(10, 6, 6, str + "打開");
SubMenu mSubMenu2 = menu.addSubMenu(str + "編輯");
mSubMenu2.add(20, 7, 8, str + "復制");
mSubMenu2.add(20, 8, 9, str + "刪除");
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
getMenu(menu, "上下文");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenu(menu, "Menu按鈕");
return super.onCreateOptionsMenu(menu);
}
}
PS:需要註意的是 上下文菜單 要註冊,還要showContextMenu()
摘自 今非昔…畢…的專欄