`

Android 程式开发:(九)用户界面 —— 9.2 重写onKeyDown()

 
阅读更多

用户可以使用两种级别与你的UI进行交互,一种是activity级别,另一种是view级别。在activity级别,Activity类暴露了一些你可以重写的方法。有一些常用的方法,你可以在你的Activity中进行重写:

  • onKeyDown
  • onKeyUp
  • onMenuItemSelected
  • onMenuOpened

下面的例子重写了一些在activity中的方法,通过这个例子展示用户如何与众多的activity进行交互。

1、创建一个工程:UIActivity。

2、main.xml中的代码。

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical">
  6. <TextView
  7. android:layout_width="214dp"
  8. android:layout_height="wrap_content"
  9. android:text="YourName"
  10. />
  11. <EditText
  12. android:id="@+id/txt1"
  13. android:layout_width="214dp"
  14. android:layout_height="wrap_content"
  15. />
  16. <Button
  17. android:id="@+id/btn1"
  18. android:layout_width="106dp"
  19. android:layout_height="wrap_content"
  20. android:text="OK"
  21. />
  22. <Button
  23. android:id="@+id/btn2"
  24. android:layout_width="106dp"
  25. android:layout_height="wrap_content"
  26. android:text="Cancel"
  27. />
  28. </LinearLayout>
3、UIActivityActivity.java中的代码。
  1. packagenet.learn2develop.UIActivity;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.view.KeyEvent;
  5. importandroid.view.View;
  6. importandroid.view.View.OnClickListener;
  7. importandroid.widget.Button;
  8. importandroid.widget.EditText;
  9. importandroid.widget.Toast;
  10. publicclassUIActivityActivityextendsActivity{
  11. /**Calledwhentheactivityisfirstcreated.*/
  12. @Override
  13. publicvoidonCreate(BundlesavedInstanceState){
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.main);
  16. }
  17. @Override
  18. publicbooleanonKeyDown(intkeyCode,KeyEventevent)
  19. {
  20. switch(keyCode)
  21. {
  22. caseKeyEvent.KEYCODE_DPAD_CENTER:
  23. Toast.makeText(getBaseContext(),
  24. "Centerwasclicked",
  25. Toast.LENGTH_LONG).show();
  26. break;
  27. caseKeyEvent.KEYCODE_DPAD_LEFT:
  28. Toast.makeText(getBaseContext(),
  29. "Leftarrowwasclicked",
  30. Toast.LENGTH_LONG).show();
  31. break;
  32. caseKeyEvent.KEYCODE_DPAD_RIGHT:
  33. Toast.makeText(getBaseContext(),
  34. "Rightarrowwasclicked",
  35. Toast.LENGTH_LONG).show();
  36. break;
  37. caseKeyEvent.KEYCODE_DPAD_UP:
  38. Toast.makeText(getBaseContext(),
  39. "Uparrowwasclicked",
  40. Toast.LENGTH_LONG).show();
  41. break;
  42. caseKeyEvent.KEYCODE_DPAD_DOWN:
  43. Toast.makeText(getBaseContext(),
  44. "Downarrowwasclicked",
  45. Toast.LENGTH_LONG).show();
  46. break;
  47. }
  48. returnfalse;
  49. }
  50. }
4、按F11调试。

5、当这个activity被加载,在EditText中输入一些文字。然后,点击方向键中的向下的按钮。观察屏幕上的信息。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics