Android上下文菜單用法實(shí)例分析
本文實(shí)例講述了Android上下文菜單用法。分享給大家供大家參考。具體如下:
上下文菜單不同于選項(xiàng)菜單,選項(xiàng)菜單服務(wù)于Activity,而上下文菜單則是注冊(cè)到某個(gè)View對(duì)象上的。
如果一個(gè)View對(duì)象注冊(cè)了上下文菜單,用戶(hù)可以通過(guò)長(zhǎng)按該View對(duì)象以呼出上下文菜單。
上下文菜單不支持快捷鍵,其菜單選項(xiàng)也不能附帶圖標(biāo),但是可以為上下文菜單的標(biāo)題指定圖標(biāo)。
以下模擬上下文菜單
main.xml布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<EditText android:text="第一文本框"
android:id="@+id/editText01"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<EditText android:text="第二文本框"
android:id="@+id/editText02"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
MeunActivity類(lèi)
package com.ljq.activity;
import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.EditText;
public class MeunActivity extends Activity {
private EditText editText01=null;
private EditText editText02=null;
private final int MENU1 = 1;
private final int MENU2 = 2;
private final int MENU3 = 3;
private final int MENU4 = 4;
private final int MENU5 = 5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editText01=(EditText)findViewById(R.id.editText01);
editText02=(EditText)findViewById(R.id.editText02);
//為View對(duì)象注冊(cè)上下文菜單
this.registerForContextMenu(editText01);
this.registerForContextMenu(editText02);
}
/**
* 初始化上下文菜單
*
* 每次調(diào)出上下文菜單時(shí)都會(huì)被調(diào)用一次
*/
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderIcon(R.drawable.header);
switch (v.getId()) {
case R.id.editText01:
menu.add(0, MENU1, 0, "菜單項(xiàng)1");
menu.add(0, MENU2, 0, "菜單項(xiàng)2");
menu.add(0, MENU3, 0, "菜單項(xiàng)3");
break;
case R.id.editText02:
menu.add(0, MENU4, 0, "菜單項(xiàng)4");
menu.add(0, MENU5, 0, "菜單項(xiàng)5");
break;
}
//super.onCreateContextMenu(menu, v, menuInfo);
}
/**
* 當(dāng)用戶(hù)選擇了上下文菜單選項(xiàng)后調(diào)用該事件
*/
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU1:
case MENU2:
case MENU3:
editText01.append("\n"+item.getTitle()+"被按下");
break;
case MENU4:
case MENU5:
editText02.append("\n"+item.getTitle()+"被按下");
break;
}
return true;
}
}
運(yùn)行結(jié)果:


希望本文所述對(duì)大家的Android程序設(shè)計(jì)有所幫助。
- Android編程實(shí)現(xiàn)為L(zhǎng)istView創(chuàng)建上下文菜單(ContextMenu)的方法
- android popwindow實(shí)現(xiàn)左側(cè)彈出菜單層及PopupWindow主要方法介紹
- Android ListView長(zhǎng)按彈出菜單二種實(shí)現(xiàn)方式示例
- android自定義popupwindow仿微信右上角彈出菜單效果
- Android仿QQ滑動(dòng)彈出菜單標(biāo)記已讀、未讀消息
- 簡(jiǎn)單實(shí)現(xiàn)Android彈出菜單效果
- Android PopupWindow實(shí)現(xiàn)右側(cè)、左側(cè)和底部彈出菜單
- Android 使用PopupWindow實(shí)現(xiàn)彈出更多的菜單實(shí)例詳解
- Android編程實(shí)現(xiàn)帶有圖標(biāo)的ListView并帶有長(zhǎng)按菜單效果示例
- Android組件實(shí)現(xiàn)長(zhǎng)按彈出上下文菜單功能的方法
相關(guān)文章
Android開(kāi)發(fā)學(xué)習(xí)路線的七大階段
這篇文章主要介紹了Android開(kāi)發(fā)學(xué)習(xí)路線的七大階段,本文講解了Java面向?qū)ο缶幊?、Java Web開(kāi)發(fā)、android UI編程、android網(wǎng)絡(luò)編程與數(shù)據(jù)存儲(chǔ)、android手機(jī)硬件管理等七大階段,需要的朋友可以參考下2015-04-04
android 自定義ScrollView實(shí)現(xiàn)背景圖片伸縮的實(shí)現(xiàn)代碼及思路
本文純屬個(gè)人見(jiàn)解,是對(duì)前面學(xué)習(xí)的總結(jié),如有描述不正確的地方還請(qǐng)高手指正~,首先還是按照通例給大家看下示例.2013-05-05
Android Handler,Message,MessageQueue,Loper源碼解析詳解
這篇文章主要介紹了Android Handler,Message,MessageQueue,Loper源碼解析詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
android實(shí)現(xiàn)菜單三級(jí)樹(shù)效果
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)菜單三級(jí)樹(shù)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Android實(shí)現(xiàn)聯(lián)動(dòng)下拉框 下拉列表spinner的實(shí)例代碼
這篇文章介紹了Android實(shí)現(xiàn)聯(lián)動(dòng)下拉框 下拉列表spinner的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10
Android使用Sensor感應(yīng)器獲取用戶(hù)移動(dòng)方向(指南針原理)
這篇文章主要介紹了Android使用Sensor感應(yīng)器獲取用戶(hù)移動(dòng)方向的方法,實(shí)例分析了指南針原理極其應(yīng)用,需要的朋友可以參考下2015-12-12
基于Android如何實(shí)現(xiàn)將數(shù)據(jù)庫(kù)保存到SD卡
有時(shí)候?yàn)榱诵枰瑫?huì)將數(shù)據(jù)庫(kù)保存到外部存儲(chǔ)或者SD卡中(對(duì)于這種情況可以通過(guò)加密數(shù)據(jù)來(lái)避免數(shù)據(jù)被破解),本文給大家分享Android如何實(shí)現(xiàn)將數(shù)據(jù)庫(kù)保存到SD卡,對(duì)android數(shù)據(jù)庫(kù)sd卡相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12
Android開(kāi)發(fā)Flutter?桌面應(yīng)用窗口化實(shí)戰(zhàn)示例
這篇文章主要為大家介紹了Android開(kāi)發(fā)Flutter?桌面應(yīng)用窗口化實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Android自定義進(jìn)度條的圓角橫向進(jìn)度條實(shí)例詳解
本文通過(guò)實(shí)例代碼給大家詳細(xì)介紹了Android自定義進(jìn)度條的圓角橫向進(jìn)度條的相關(guān)資料。非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-09-09
Android中實(shí)現(xiàn)詞組高亮TextView方法示例
高亮顯示大家應(yīng)該都不陌生,在開(kāi)發(fā)中經(jīng)常會(huì)遇到這個(gè)需求,所以下面這篇文章主要給大家介紹了關(guān)于Android中實(shí)現(xiàn)詞組高亮TextView的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-10-10

