首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android开发:下上左右与返回键的按键捕捉事件

2012-08-31 
Android开发:上下左右与返回键的按键捕捉事件键盘中的上下左右与返回键。可以直接监听,不需要在xml或者其他

Android开发:上下左右与返回键的按键捕捉事件
  键盘中的上下左右与返回键。可以直接监听,不需要在xml或者其他地方注册。


主要方法是:
public boolean onKeyDown(int kCode,KeyEvent kEvent)
{
switch(kCode)
{
case KeyEvent.KEYCODE_DPAD_LEFT:
return true;

case KeyEvent.KEYCODE_DPAD_UP:
return true;

case KeyEvent.KEYCODE_DPAD_RIGHT:
return true;

case KeyEvent.KEYCODE_DPAD_DOWN:
return true;
case KeyEvent.KEYCODE_DPAD_CENTER:
return true;
case KeyEvent.KEYCODE_BACK:
return false; }
return super.onKeyDown(kCode,kEvent);
}


具体实现例子是:

package com.ldci.logger;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;

public class MyKeyDown extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
       
    }
   
    public boolean onKeyDown(int kCode,KeyEvent kEvent)
    {
    switch(kCode)
    {
    case KeyEvent.KEYCODE_DPAD_LEFT:
    Log.v("MyKeyDown","onkeydown=left");
    return true;

    case KeyEvent.KEYCODE_DPAD_UP:
    Log.v("MyKeyDown","onkeydown=up");
    return true;

    case KeyEvent.KEYCODE_DPAD_RIGHT:
    Log.v("MyKeyDown","onkeydown=right");
    return true;

    case KeyEvent.KEYCODE_DPAD_DOWN:
    Log.v("MyKeyDown","onkeydown=down");
    return true;
    case KeyEvent.KEYCODE_DPAD_CENTER:
    Log.v("MyKeyDown","onkeydown=center");
    return true;
    case KeyEvent.KEYCODE_BACK:
    Log.v("MyKeyDown","onkeydown=where");
    return false; }
    return super.onKeyDown(kCode,kEvent);
    }
}

直接写在代码中,就可以测试了。 1 楼 amewow 2010-12-19   返回是屏蔽了,不过上下左右貌似不行啊。。 2 楼 logger 2010-12-20   amewow 写道返回是屏蔽了,不过上下左右貌似不行啊。。


  我的可以顺利运行啊。。。要不把你试验代码发过来,大家一起研究一下啊。

热点排行