您的位置:首页 > 其它

关于移动设备上的一些按键值及其对应的事件

2015-12-04 10:55 363 查看
按键及触屏的事件:

Java代码

1.package com.yarin.Android.Examples_04_01;  

2. 

3.import android.app.Activity;  

4.import android.os.Bundle;  

5.import android.view.KeyEvent;  

6.import android.view.MotionEvent;  

7.import android.view.View;  

8.import android.widget.Button;  

9.import android.widget.Toast;  

10./** 

11. *  

12. * 控件事件通过设置其控件的监听器来监听并处理事件 

13. * 按键按下事件:通过重写onKeyDown方法 

14. * 按键弹起事件:通过重写onKeyUp方法 

15. * 触笔点击事件:通过实现onTouchEvent方法 

16. * 示例中使用了Toast控件: 

17. * Toast.makeText(this, string, Toast.LENGTH_SHORT).show(); 

18. * 显示提示信息 

19. * 

20. */ 

21. 

22.public class Activity01 extends Activity  

23.{  

24. 

25.    public void onCreate(Bundle savedInstanceState)  

26.    {  

27. 

28.        super.onCreate(savedInstanceState);  

29.          

30.        setContentView(R.layout.main);  

31.        //获得Button对象  

32.        Button button_ok = (Button) findViewById(R.id.ok);  

33.        //设置Button控件监听器  

34.        button_ok.setOnClickListener(new Button.OnClickListener() {  

35.            public void onClick(View v)  

36.            {  

37.                //这里处理事件  

38.                DisplayToast("点击了OK按钮");  

39.            }  

40.        });  

41. 

42.    }  

43. 

44.    /* 按键按下所触发的事件 */ 

45.    public boolean onKeyDown(int keyCode, KeyEvent event)  

46.    {  

47.        switch (keyCode)  

48.        {  

49.            case KeyEvent.KEYCODE_DPAD_CENTER:  

50.                DisplayToast("按下:中键");  

51.                break;  

52.            case KeyEvent.KEYCODE_DPAD_UP:  

53.                DisplayToast("按下:上方向键");  

54.                break;  

55.            case KeyEvent.KEYCODE_DPAD_DOWN:  

56.                DisplayToast("按下:下方向键");  

57.                break;  

58.            case KeyEvent.KEYCODE_DPAD_LEFT:  

59.                DisplayToast("按下:左方向键");  

60.                break;  

61.            case KeyEvent.KEYCODE_DPAD_RIGHT:  

62.                DisplayToast("按下:右方向键");  

63.                break;  

64.        }  

65.        return super.onKeyDown(keyCode, event);  

66.    }  

67.    /* 按键弹起所触发的事件 */ 

68.    public boolean onKeyUp(int keyCode, KeyEvent event)  

69.    {  

70.        switch (keyCode)  

71.        {  

72.            case KeyEvent.KEYCODE_DPAD_CENTER:  

73.                DisplayToast("弹起:中键");  

74.                break;  

75.            case KeyEvent.KEYCODE_DPAD_UP:  

76.                DisplayToast("弹起:上方向键");  

77.                break;  

78.            case KeyEvent.KEYCODE_DPAD_DOWN:  

79.                DisplayToast("弹起:下方向键");  

80.                break;  

81.            case KeyEvent.KEYCODE_DPAD_LEFT:  

82.                DisplayToast("弹起:左方向键");  

83.                break;  

84.            case KeyEvent.KEYCODE_DPAD_RIGHT:  

85.                DisplayToast("弹起:右方向键");  

86.                break;  

87.        }  

88.          

89.        return super.onKeyUp(keyCode, event);  

90.    }  

91.      

92.    public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)  

93.    {  

94.          

95.        return super.onKeyMultiple(keyCode, repeatCount, event);  

96.    }  

97.      

98.    /* 触笔事件 */ 

99.    public boolean onTouchEvent(MotionEvent event)  

100.    {  

101.        int iAction = event.getAction();  

102.        if (iAction == MotionEvent.ACTION_CANCEL ||   

103.            iAction == MotionEvent.ACTION_DOWN ||   

104.            iAction == MotionEvent.ACTION_MOVE)   

105.        {  

106.            return false;  

107.        }  

108.        //得到触笔点击的位置  

109.        int x = (int) event.getX();  

110.        int y = (int) event.getY();  

111.          

112.        DisplayToast("触笔点击坐标:("+Integer.toString(x)+","+Integer.toString(y)+")");  

113.          

114.        return super.onTouchEvent(event);  

115.    }  

116.      

117.    /* 显示Toast  */ 

118.    public void DisplayToast(String str)  

119.    {  

120.        Toast.makeText(this, str, Toast.LENGTH_SHORT).show();  

121.    }  

122.} 

@Override

  public void onBackPressed() {

  // 这里处理逻辑代码,cwj提示大家注意该方法仅适用于2.0或更新版的sdk

  return;

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: