歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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鍵時

Copyright © Linux教程網 All Rights Reserved