代码调用menu

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

建立 menu 后怎么调用 menu

一般当我们通过以下的方法建立菜单

public boolean onCreateOptionsMenu (Menu menu) {

super .onCreateOptionsMenu(menu);

然后当我们点击模拟器的 menu 按钮后,会调出我们创建的菜单。

但是当我们不想通过点击 menu 来调用,而是通过点击某个 button 来调用的时候,一般情况有以下两种方法:

第一是 button 监听器事件里调用 Activity 类中 openOptionsMenu();

myButton3 .setOnClickListener( new Button.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

//onKeyDown(KeyEvent.KEYCODE_MENU, null);

openOptionsMenu();

}

});

 

第二种方法是用 Instrumentation 键盘

事件: Instrumentation 提供了丰富的以 send 的函数接口来 实现 拟键盘

。定 一个方法来模 拟键盘 事件,在 button 里面 传递 KeyEvent.KEYCODE_MENU

myButton3 .setOnClickListener( new Button.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stu simulateKey (KeyEvent. KEYCODE_MENU );

}

});

 

public static void simulateKey(final int KeyCode) {

new Thread() {

public void run() {

try {

Instrumentation inst = new Instrumentation();

inst.sendKeyDownUpSync(KeyCode);

} catch (Exception e) {

e.printStackTrace();

}

}

}.start();

}

猜你喜欢

转载自yulincqupt.iteye.com/blog/1767225