我们如何和Android 程序来进行交互那份?来让 Android 程序产生相应的反应,我们不得不通过键盘事件、触摸事件、传感器事件等来实现。
键盘是Android中主要的输入设备,对按键的响应的处理是响应之间在程序中使用键盘的核心内容。
键盘事件主要包括:
boolean onKeyDown(int keyCode,KeyEvent event)
在按键按下时调用
boolean onKeyUp(int keyCode,KeyEvent event)
在按键释放时调用
boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)
在多个事件连续时调用,用于按键重复,必须重载@Override实现
onTouchEvent(MotionEvent event)
触摸屏事件,当在触摸屏上有动作时调用
boolean onKeyLongPress(int keyCode, KeyEvent event)
当你长时间按时调用
我们只需要在我们实现的继承了 Activity 的类中 Override 这些方法即可。
以上按键事件响应方法的第一个参数,是值所按的键,比如你是按的 space、up还是down 等,而第二个参数,则是相应的事件。
- package xiaosi.key;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.KeyEvent;
- import android.widget.TextView;
- public class KeyActivity extends Activity {
- /** Called when the activity is first created. */
- private TextView text = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- text = (TextView)findViewById(R.id.text);
- }
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- switch (keyCode) {
- case KeyEvent.KEYCODE_DPAD_CENTER:
- text.setText("Press \"center\" key");
- break;
- case KeyEvent.KEYCODE_DPAD_UP:
- text.setText("Press \"up\" key");
- break;
- case KeyEvent.KEYCODE_DPAD_DOWN:
- text.setText("Press \"down\" key");
- break;
- default:
- text.setText("Illegal key has been pressed");
- }
- return true;
- }
- }
点击center键时