`
chenhaodejia
  • 浏览: 111856 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
按键及触屏的事件:

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;



  }
分享到:
评论

相关推荐

    PT80-NEAT开发指南v1.1

    移动数据终端 版本记录 版本号 版本描述 发布日期 V 1.0 初始版本。 2012-04-12 V1.1 修改前三章内容 2012-09-25 目录 第一章 关于本手册...........................................................................

    官方最新发布的Textpro6.5及其教程

    TextPro可以在窗口中打开两个文件,在“窗口”菜单选择“平铺”,分别单击每个文件内容中相同的启始位置,然后连续按键盘上的“F5”按键开始比较。 发现不同字符时,程序在下方状态栏提示不相同的字符及其位置,当前...

    DBX260中文说明书

    每一个图指示的是每一个FX 钮的功能,及其在每个操作菜单中指导用户的能力。 上一页(PREVIOUS 260GE)-翻至当前所选效果菜单的上一页。 下一页(NEXT 260GE)-翻至当前所有选效果菜单的下一页。 EQ-选择EQ效果菜单...

    powerbuilder

    当Print组函数生成新行时,系统自动把打印光标的x坐标位置设置为0,y坐标位置在原有基础上增加当前行距值。使用PrintSetSpacing()函数可以改变当前打印作业的行距。 -------------------------------------------...

    某智能马桶设计方案.doc

    FPGA芯片内部电路必须有整体和 单元的综合电路,和对应波形及其详细说明。 (2)课程报告字数要求 3000 字以上。 2 智能马桶简介 2.1课题研究背景 马桶是人们生活中必不可少的家用器具。智能马桶是马桶的升级版,随着...

    新版Android开发教程.rar

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...

    通信与网络中的今年美国值得关注的十大无线通信技术

    雷震洲 以下十大无线通信技术今年在美国引起了关注,它们是WiMAX、WiFi网状网拓扑、客户轮廓管理、安全性、移动/WiFi漫游、企业的WiFi交换与管理、按键通话、移动终端操作系统与界面的开发、UMTS/WCDMA和软件定义的...

    德力西产品说明.pdf

    2、本机铭牌所标注的额定值是否与您的订货要求一致,箱内是否包含您订购的机器、产品合格证、用户操作手册及保修单。   本公司在产品的制造及包装出厂方面,质量保证体系严格,但若发现有某种检验遗漏,请速与本...

    KODExplorer 芒果云-资源管理器

    - 文件管理工具栏 增加菜单选项,方便移动设备操作 - 文件编辑器,文件树目录 上下左右键盘切换 快捷键加入 - 树目录去掉库,改为个人目录等多处文案修改 - 默认打开用户目录 ####fix bug:(bug解决和程序优化)...

    《计算机操作系统》期末复习指导

    (2)进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 (3)引入进程的意义是描述多道程序设计系统中程序的动态执行过程。 2、进程的定义及特征 (1)程序和进程的区别 (2...

    华为编程开发规范与案例

    本意是想移动10个字节,可是实际上指针移动了10*sizeof(struct MsgCB)个字节; CellNum=tmp_msg.usCellNum; 。。。 } 1 所以结构指针传入函数后,如要进行指针移动操作,最好先将其转化为_UC型再说。总之指针操作...

    单工无线呼叫系统[2005年电子大赛全国一等奖].doc

    方案二:采用调频方式(FM),发端用音频调制载波,载波的频率会随着调制信号 的幅度变化而变化,收端利用鉴频器将调制信号恢复,对应的数字调制方式为频移键控 (FSK)。其特点是占有带宽宽,但抗干扰能力明显优于...

    易语言程序免安装版下载

    取显示区大小”的参数名称及其说明。 6. 修改外部数据库在4.12版中导致的不兼容问题,并增加了对MS SQL Server数据库中image和text字段类型的说明。 7. 修改扩展界面支持库一,禁止透明标签在父窗口刷新时自动刷新...

    textpro 6.5及使用教程

    TextPro可以在窗口中打开两个文件,在“窗口”菜单选择“平铺”,分别单击每个文件内容中相同的启始位置,然后连续按键盘上的“F5”按键开始比较。 发现不同字符时,程序在下方状态栏提示不相同的字符及其位置,当前...

    会计理论考试题

    23.如果要把C盘某个文件夹中的一些文件复制到C盘的另外一个文件央中,在选定文件后,若采用拖放操作,可以用___B___目标的方法。 A、直接拖至 B、Ctrl十拖至 C、Alt十拖至 D、单击 24.Windows98中的磁盘的根文件夹是...

Global site tag (gtag.js) - Google Analytics