您的位置 首页 测评

android ContextMenu

ContextMenu 继承自 Menu。上下文菜单不同于选项菜单,选项菜单服务于Activity,而上下文菜单是注册到某个View对象上的。如果一个View对象注册了上下文菜单

ContextMenu 承继自 Menu。上下文菜单不同于选项菜单,选项菜单服务于Activity,而上下文菜单是注册到某个View目标上的。假如一个View目标注册了上下文菜单,用户能够经过长按(约2秒) 该View目标上以呼出上下文菜单。

上下文菜单不支持快捷键(shortcut),其菜单选项也不能顺便图标,可是能够为上下文菜单的标题指定图标

下面是一个ContextMenu的小比如,运转作用如下:

androidwbr>ContextMenu
androidwbr>ContextMenu

package xiaohang.zhimeng;

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 Activity01 extends Activity {

final int MENU1 = 1;

final int MENU2 = 2;

final int MENU3 = 3;

final int MENU4 = 4;

final int MENU5 = 5;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//为两个文本框注册上下文菜单

this.registerForContextMenu(findViewById(R.id.EditText01));

this.registerForContextMenu(findViewById(R.id.EditText02));

}

//增加上下文菜单

@Override

public void onCreateContextMenu(ContextMenu menu, View v,

ContextMenuInfo menuInfo) {

//此办法在每次调用上下文菜单时都会被调用一次

menu.setHeaderIcon(R.drawable.car);

if (v==findViewById(R.id.EditText01)) {

menu.add(0, MENU1, 0, R.string.mi1);

menu.add(0, MENU2, 0, R.string.mi2);

menu.add(0, MENU3, 0, R.string.mi3);

}

else if (v==findViewById(R.id.EditText02)) {

menu.add(0, MENU4, 0, R.string.mi4);

menu.add(0, MENU5, 0, R.string.mi5);

}

}

//呼应上下文菜单

@Override

public boolean onContextItemSelected(MenuItem item) {

switch (item.getItemId()) {

case MENU1:

case MENU2:

case MENU3:

EditText et1 = (EditText)this.findViewById(R.id.EditText01);

et1.append(\n + item.getTitle() + 被按下);

break;

case MENU4:

case MENU5:

EditText et2 = (EditText)this.findViewById(R.id.EditText02);

et2.append(\n + item.getTitle() + 被按下);

break;

}

return true;

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/321289.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部