我們如何和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]
- 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鍵時