【Android 开发教程】重写onKeyDown()

本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。

原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/


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

  • onKeyDown
  • onKeyUp
  • onMenuItemSelected
  • onMenuOpened

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

1. 创建一个工程:UIActivity。

2. main.xml中的代码。

[html] view plain copy
  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中的代码。
[java] view plain copy
  1. publicclassUIActivityActivityextendsActivity{
  2. /**Calledwhentheactivityisfirstcreated.*/
  3. @Override
  4. publicvoidonCreate(BundlesavedInstanceState){
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.main);
  7. }
  8. @Override
  9. publicbooleanonKeyDown(intkeyCode,KeyEventevent)
  10. {
  11. switch(keyCode)
  12. {
  13. caseKeyEvent.KEYCODE_DPAD_CENTER:
  14. Toast.makeText(getBaseContext(),
  15. "Centerwasclicked",
  16. Toast.LENGTH_LONG).show();
  17. break;
  18. caseKeyEvent.KEYCODE_DPAD_LEFT:
  19. Toast.makeText(getBaseContext(),
  20. "Leftarrowwasclicked",
  21. Toast.LENGTH_LONG).show();
  22. break;
  23. caseKeyEvent.KEYCODE_DPAD_RIGHT:
  24. Toast.makeText(getBaseContext(),
  25. "Rightarrowwasclicked",
  26. Toast.LENGTH_LONG).show();
  27. break;
  28. caseKeyEvent.KEYCODE_DPAD_UP:
  29. Toast.makeText(getBaseContext(),
  30. "Uparrowwasclicked",
  31. Toast.LENGTH_LONG).show();
  32. break;
  33. caseKeyEvent.KEYCODE_DPAD_DOWN:
  34. Toast.makeText(getBaseContext(),
  35. "Downarrowwasclicked",
  36. Toast.LENGTH_LONG).show();
  37. break;
  38. }
  39. returnfalse;
  40. }
  41. }
4. 按F11调试。

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

【Android 开发教程】重写onKeyDown()


你可能感兴趣的:(android,开发)