`

Android开发之道(7)响应键盘事件

 
阅读更多

转载请注明来自“柳大的CSDN博客”:http://blog.csdn.net/poechant


当我们使用一个 Android 应用时,需要通过自己的操作,来让 Android 程序产生相应的反应。这种响应方式,可以通过键盘事件、触摸事件、传感器事件等来实现。下面介绍如何响应键盘事件。


键盘事件主要包括:onKeyDown,onKeyUp、onKeyMultiple、onKeyLongPress等。我们只需要在我们实现的继承了 Activity 的类中 Override 这些方法即可。首先我们使用 Toast 类的 makeText 方法类显示提示,作为按键的响应。首先与前面一样,我们创建一个 Activity 的子类:


public class Test extends Activity {

public void onCreate(Bundle savedInstanceState) {

...

}


public boolean onKeyDown(int keyCode, KeyEvent event) {

...

}


public boolean onKeyUp(int keyCode, KeyEvent event) {

...

}


public boolean onKeyMultiple(int keyCode, KeyEvent event) {

...

}


public boolean onKeyLongPress(int keyCode, KeyEvent event) {

...

}


public void DisplayToast(String msg) {

Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();

}

}


四个按键事件响应方法的第一个参数,是值所按的键,比如你是按的 A、B、C,还是 1、2、3,还是 space、up、down 等,而第二个参数,则是相应的事件。onCreate 中添加一个按钮,用于设置布局,这里不再赘述。下面先说如何 Override 那个 onKeyDown 方法。DisplayToast 就是将 Toast.makeText 方法包装起来,关于 Toast 类的使用,会在今后的博文中介绍。


public boolean onKeyDown(int keyCode, KeyEvent event) {

switch (keyCode) {

case KeyEvent.KEYCODE_DPAD_CENTER:

DisplayToast("Press \"center\" key");

case KeyEvent.KEYCODE_DPAD_UP:

DisplayToast("Press \"up\" key");

case KeyEvent.KEYCODE_DPAD_DOWN:

DisplayToast("Press \"down\" key");

default:

DisplayToast("Illegal key has been pressed");

}

return super.onKeyDown(keyCode, event);

}


KeyEvent 类中有各种按键对应的静态常量成员,比如 KEYCODE_DPAD_CENTER 是键盘上的中键,KEYCODE_DPAD_UP 是键盘上的向上键,KEYCODE_DPAD_DOWN 是键盘上的向下键。其他的 onKeyUp、onKeyMultiple、onKeyLongPress 方法的实现方法,与它们类似,就是匹配相应的按键,然后指定所需的操作。


还可以自行构建 KeyEvent,可以使用如下方法:


public KeyEvent(int action, int code);

public KeyEvent(long downTime, long eventTime, int action, int code, int repeat);

public KeyEvent(long downTime, long eventTime, int action, int code, int repeat, int metaState);

public KeyEvent(long downTime, long eventTime, int action, int code, int repeat, int metaState, int device, int scancode);

public KeyEvent(long downTime, long eventTime, int action, int code, int repeat, int metaState, int device, int scancode, int flags);

public KeyEvent(long time, String characters, int device, int flags);

public KeyEvent(KeyEvent origEvent);

public KeyEvent(KeyEvent origEvent, long eventTime, int newRepeat);


Enjoy Android : )


转载请注明来自“柳大的CSDN博客”:http://blog.csdn.net/poechant

-


分享到:
评论

相关推荐

    该组件用于ReactNative中获取Android原生层面的键盘响应事件

    该组件用于React-Native中获取Android原生层面的键盘响应事件,目前开发者本人的主要使用场景是Android-TV端获取遥控器的按键事件。

    新版Android开发教程.rar

    Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商...

    android开发秘籍

    android开发秘籍完整版清晰版 第1 章 android 概述 1 1.1 android 演化史 1 1.2 android 的两面性 2 1.3 运行android 的设备 2 1.3.1 htc 系列机型 4 1.3.2 摩托罗拉系列机型 4 1.3.3 三星系列机型 4 1.3.4 ...

    Android应用开发入门教程

    6.2 键盘事件的响应57 6.3 运动事件的处理59 6.4 屏幕间的跳转和事件的传递62 6.4.1.跳转的方法62 6.4.2.带有返回值的跳转63 6.5菜单的使用66 6.6弹出对话框67 6.6.1. 提示信息和两个按钮的对话框68 6.6.2. 提示...

    基于Android的Widget开发

    本文主要介绍了桌面动态图库APP Widget设计过程。在设计之前,首先根据UI设计的原则,给出了合理的需求...接下来实现对特殊事件的处理,比如鼠标、键盘的响应和图片被删除等情况。最后对软件进行合理的测试并修改BUG

    Android开发效率的Eclipse快捷键

    很多过去使用Visual Studio开发软件的网友可能不熟悉Java开发环境,今天Android开发网告诉大家一些提高Android开发效率的Eclipse快捷键,可以有效率的帮助我们管理代码和减少键盘输入。Eclipse相对于Visual Studio而...

    Android入门到精通

    6.2 键盘事件的响应 6.3 运动事件的处理 6.4 屏幕间的跳转和事件的传递 6.5菜单的使用 6.6弹出对话框 6.7 样式的设置 第7章 控件(Widget)的使用 7.1 Android中控件的层次结构 7.2 基本控件的使用 7.3 自定义的视图...

    ZI:ZI库可实现出色的Android开发

    ZI库可实现出色的Android开发组件ProviderPreference,基于ContentProvider构建的进程之间的共享首选项感谢Daniel Nilsson,ColorPicker是一个易于使用的颜色选择器小部件CropImage,来自AOSP相机的精美图像裁剪活动...

    Android开发资料合集-World版!

    9.26、ANDROID键盘响应 236 9.27、后台监听某个按键 238 9.28、VECTOR用法 239 9.29、CURSOR 242 9.30、把一个字符串写进文件 244 9.31、把文件内容读出到一个字符串 245 9.32、扫描WIFI热点演示实例教程 246 9.33、...

    Android安卓开发必备资料.pdf

    在本部分讨论中,我提到两种不同的开发者:传统的桌面应用程序开发,他们能使用任何的编程语言,而且最终的产品和程序是用来运行n桌面”操作系统的:还有就是Android的程序开发者,为Android平台开发程序的JAtA...

    Android 开发技巧

    9.26、ANDROID键盘响应 236 9.27、后台监听某个按键 238 9.28、VECTOR用法 239 9.29、CURSOR 242 9.30、把一个字符串写进文件 244 9.31、把文件内容读出到一个字符串 245 9.32、扫描WIFI热点演示实例教程 246 9.33、...

    Android开发资料合集--续

    8、隐藏小键盘 13 9、响应Touch 15 10、Activity间的通信 15 1、Bundle传值 15 2、利用startActivityForResult与onActivityResult方法 16 11、使程序完全退出 18 12、列出所有音乐文件 18 13、使用Intent ACTION ...

    Android应用开发入门教程(经典版)

    第2章 Android SDK的开发环境..................................................................................................................................10 2.1 Android SDK的结构......................

    Android基础教程

     《Android基础教程(第3版·修订版)》是一部关于Android开发的基础教程,采用Pragmatic系列图书一贯由浅入深、循序渐进的方式讲解了Android程序设计的核心概念和技术。书中不仅结合数独游戏开发案例形象生动地...

    Android 应用开发入门教程(经典版)

    第2 章 Android SDK 的开发环境.................................................................................................................................. 10 2.1 Android SDK 的结构..................

    iOS项目开发键盘弹出遮挡输入框问题解决方案

    UITextField和UITextView,前者是单行输入文本框,后者是可滑动的多行输入文本框,在这整个开发过程中,我们需要控制键盘的弹出和收起、在输入结束的时候获取输入的信息,此外,我们还需要保证在键盘弹起的时候不...

    2010年谢彦的android笔记

    2.2.3 事件响应 37 2.2.4 应用软件代码结构 38 2.2.5 国际化的支持(多语言) 39 2.2.6 常见问题及解决方法 40 2.2.7 android是重要的包 41 2.3 界面元素分析 42 2.4 修改公共控件 43 2.5 源码中常用于参考的代码 44...

    android笔记.rar

    2.2.3 事件响应... .37 2.2.4 应用软件代码结构... ...38 2.2.5 国际化的支持(多语言) ... ...39 2.2.6 常见问题及解决方法... ..40 2.2.7 android是重要的包... ...41 2.3 界面元素分析... ...42 2.4 修改公共...

Global site tag (gtag.js) - Google Analytics