灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2173回复:0

android学习笔记转-------上下左右与返回键的按键捕捉事件

楼主#
更多 发布于:2012-09-06 13:43


键盘中的上下左右与返回键。可以直接监听,不需要在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);
    }
}
直接写在代码中,就可以测试了。


喜欢0 评分0
游客

返回顶部