Android
常用的物理按键及其触发事件如下:
按键 | 功能 | 按键 | 功能 |
---|---|---|---|
KEYCODE_POWER | 电源键 | KEYCODE_MENU | 菜单键 |
KEYCODE_BACK | 后退键 | KEYCODE_HOME | Home 键 |
KEYCODE_CAMERA | 相机键 | KEYCODE_SEARCH | 查找键 |
KEYCODE_VOLUME_UP | 音量键+ | KEYCODE_VOLUME_DOWN | 音量键- |
KEYCODE_VOLUME_MUTE | 静音 |
方向键如下:
KEYCODE_DPAD_CENTER
KEYCODE_DPAD_UP
KEYCODE_DPAD_DOWN
KEYCODE_DPAD_LEFT
KEYCODE_DPAD_RIGHT
键盘键如下:
KEYCODE_0 - KEYCODE_9
:数字0-9
KEYCODE_A - KEYCODE_Z
:字母A-Z
提供的回调方法有onKeyUp
、OnKeyDown
和onKeyLongPress
。
显示按键信息的代码如下:
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/* 重写onKeyDown方法可以拦截系统默认的处理 */
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Toast.makeText(this, "后退键", Toast.LENGTH_SHORT).show();
return true;
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
Toast.makeText(this, "声音+", Toast.LENGTH_SHORT).show();
return false;
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
Toast.makeText(this, "声音-", Toast.LENGTH_SHORT).show();
return false;
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_MUTE) {
Toast.makeText(this, "静音", Toast.LENGTH_SHORT).show();
return false;
} else if (keyCode == KeyEvent.KEYCODE_HOME) {
Toast.makeText(this, "Home", Toast.LENGTH_SHORT).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
}