歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android開發之事件+實例

Android開發之事件+實例

日期:2017/3/1 10:45:11   编辑:Linux編程

“機器人”的管理員——Activity

Activity 是Android 最基本的組件之一,它就像是一個管理員。我們需要在屏幕上顯示什麼(通常情況下,一個Activity 占據一個屏幕),用戶將要在這個屏幕上做什麼,怎樣來處理用戶做出的不同操作都需要由該Activity 來管理和調度。

下面列出Activity 經常用到的事件:

onKeyDown(int keyCode, KeyEvent event) 按鍵按下事件

onTouchEvent(MotionEvent event) 點擊屏幕事件

onKeyUp(int keyCode, KeyEvent event) 按鍵松開事件

onTrackballEvent(MotionEvent event) 軌跡球事件

我們來做一個示例,了解一下Android 的管理員Activity 如何處理用戶事件。

實現了按鍵切換,點擊事件切換,觸摸切換

效果圖:

  1. package cn.class3g.activity;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.KeyEvent;
  5. import android.view.MotionEvent;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.Button;
  9. public class ButtonActivity extends Activity {
  10. /** Called when the activity is first created. */
  11. Button bu1, bu2;
  12. public void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. b1();
  15. }
  16. public void b1() {
  17. setContentView(R.layout.main);
  18. bu1 = (Button) this.findViewById(R.id.b1Id);
  19. bu1.setOnClickListener(new OnClickListener() {
  20. @Override
  21. public void onClick(View v) {
  22. // TODO Auto-generated method stub
  23. b2();
  24. }
  25. });
  26. }
  27. public void b2() {
  28. setContentView(R.layout.main1);
  29. bu2 = (Button) this.findViewById(R.id.b2Id);
  30. bu2.setOnClickListener(new OnClickListener() {
  31. @Override
  32. public void onClick(View v) {
  33. // TODO Auto-generated method stub
  34. b1();
  35. }
  36. });
  37. }
  38. boolean flag = true;
  39. @Override
  40. public boolean onKeyDown(int keyCode, KeyEvent event) {
  41. // TODO Auto-generated method stub
  42. flag = !flag;
  43. return super.onKeyDown(keyCode, event);
  44. }
  45. @Override
  46. public boolean onKeyUp(int keyCode, KeyEvent event) {
  47. // TODO Auto-generated method stub
  48. if (flag) {
  49. b1();
  50. } else {
  51. b2();
  52. }
  53. return super.onKeyUp(keyCode, event);
  54. }
  55. @Override
  56. public boolean onTouchEvent(MotionEvent event) {
  57. // TODO Auto-generated method stub
  58. flag = !flag;
  59. if (flag) {
  60. b2();
  61. } else {
  62. b1();
  63. }
  64. return super.onTouchEvent(event);
  65. }
  66. }
Copyright © Linux教程網 All Rights Reserved