Android学习笔记之按键操作


我们如何和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 等,而第二个参数,则是相应的事件。

[java]
  1. package xiaosi.key;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.KeyEvent;  
  6. import android.widget.TextView;  
  7.   
  8. public class KeyActivity extends Activity {  
  9.     /** Called when the activity is first created. */  
  10.     private TextView text = null;  
  11.     @Override  
  12.     public void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.main);  
  15.           
  16.         text = (TextView)findViewById(R.id.text);  
  17.     }  
  18.       
  19.     public boolean onKeyDown(int keyCode, KeyEvent event) {  
  20.         switch (keyCode) {   
  21.         case KeyEvent.KEYCODE_DPAD_CENTER:  
  22.             text.setText("Press \"center\" key");  
  23.             break;  
  24.         case KeyEvent.KEYCODE_DPAD_UP:  
  25.             text.setText("Press \"up\" key");  
  26.             break;  
  27.         case KeyEvent.KEYCODE_DPAD_DOWN:  
  28.             text.setText("Press \"down\" key");  
  29.             break;  
  30.         default:  
  31.             text.setText("Illegal key has been pressed");  
  32.         }  
  33.         return true;  
  34.     }  
  35. }  

点击center键时

相关内容