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實(shí)現(xiàn)高德地圖首頁(yè)效果(下)
這篇文章主要為大家詳細(xì)介紹了基于Android實(shí)現(xiàn)高德地圖首頁(yè)效果下篇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-08-08
Android學(xué)習(xí)筆記(一)環(huán)境安裝及第一個(gè)hello world
最近在學(xué)習(xí)安卓開(kāi)發(fā),記錄下環(huán)境安裝和第一個(gè)hello world的誕生過(guò)程,希望對(duì)大家有所幫助2014-07-07
Android游戲開(kāi)發(fā)學(xué)習(xí)①?gòu)椞∏驅(qū)崿F(xiàn)方法
這篇文章主要介紹了Android游戲開(kāi)發(fā)學(xué)習(xí)①?gòu)椞∏驅(qū)崿F(xiàn)方法,涉及Android通過(guò)物理引擎BallThread類(lèi)模擬小球運(yùn)動(dòng)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
詳解Android TextView屬性ellipsize多行失效的解決思路
這篇文章主要介紹了Android TextView屬性ellipsize多行失效的解決思路,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
iOS中給UITableView的側(cè)滑刪除增加多個(gè)按鈕的實(shí)現(xiàn)方法
在項(xiàng)目中遇到這樣一個(gè)需求,cell的側(cè)滑刪除默認(rèn)只有一個(gè)刪除按鈕, 給側(cè)滑添加多個(gè)按鈕, '刪除', '置頂', '更多'.怎么實(shí)現(xiàn)呢?下面小編給大家分享iOS中給UITableView的側(cè)滑刪除增加多個(gè)按鈕的實(shí)現(xiàn)方法,一起看看吧2017-02-02
Android實(shí)現(xiàn)下載進(jìn)度條效果
vivo商店在下載應(yīng)用的時(shí)候,底部有一個(gè)圓角矩形的下載進(jìn)度條,中間有一個(gè)進(jìn)度文字,而且進(jìn)度和文字交匯的時(shí)候,交匯部分的文字會(huì)從藍(lán)色邊為白色,會(huì)有一種一半白色字,一半藍(lán)色字的效果。本文將仿照該樣式實(shí)現(xiàn)一個(gè)2021-06-06
Android實(shí)現(xiàn)淘寶選中商品尺寸的按鈕組實(shí)例
這篇文章介紹的是仿淘寶中的選中商品不同尺寸,比如衣服有L、M、XL等等的款式。這時(shí)候我們就需要一個(gè)button組來(lái)進(jìn)行了,當(dāng)時(shí)這個(gè)時(shí)候里面的尺寸可能有很多,那怎么辦呢?這里我們就肯定要做個(gè)自適應(yīng)的按鈕組了,要不然弄出來(lái)也沒(méi)用。2016-08-08
android中intent傳遞list或者對(duì)象的方法
這篇文章主要介紹了android中intent傳遞list或者對(duì)象的方法,分析羅列了常用的幾種方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01
Android多線(xiàn)程斷點(diǎn)續(xù)傳下載示例詳解
這篇文章主要為大家詳細(xì)介紹了Android多線(xiàn)程斷點(diǎn)續(xù)傳下載示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11

