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);
    }
}

直接寫在代碼中,就可以測試瞭。

摘自 奔跑的蝸牛

發佈留言